Рейтинг:0

сборка python 3.10 на centos 7 приводит к ошибке импорта ssl

флаг ar

Адаптирован из https://docs.python.org/3/using/unix.html?highlight=openssl#custom-openssl Я выполнил следующую процедуру для сборки Python 3.10 в моей системе Centos 7.

сначала я построил openssl

2022-05-22 13:57 cd /home/lking/openssl
22 мая 2022 г., 13:57 curl -O https://www.openssl.org/source/openssl-1.1.1o.tar.gz
2022-05-22 13:57 смола xzf openssl-1.1.1o.tar.gz
2022-05-24 11:27 cd /home/lking/openssl/openssl-1.1.1o
2022-05-24 11:51 sudo find /etc/ -name openssl.cnf -printf "%h\n"
                  /etc/pki/TLS
24 мая 2022 г., 11:27 sudo ./config --prefix=/usr/local/custom-openssl --libdir=lib --openssldir=/etc/pki/tls 
2022-05-24 11:28 sudo очистить
2022-05-24 11:29 sudo make -j1 зависит
24 мая 2022 г., 11:29 sudo make -j > журналы/build1.txt
2022-05-24 11:32 sudo make install_sw > logs/install_sw.txt

затем я собрал Python 3.10 (я скачал его ранее)

2022-05-15 12:30 cd /home/lking/python
2022-05-15 12:38 wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz
15.05.2022, 12:39 смола xvf Python-3.10.4.tgz
27 мая 2022 г., 15:00, компакт-диск /home/lking/python/Python-3.10.4
27 мая 2022 г., 15:00 ./configure -C --with-openssl=/usr/local/custom-openssl --with-openssl-rpath=auto --prefix=/usr/local/python-3.10.4 > журналы/configure11.txt
2022-05-27 15:01 sudo очистить
27 мая 2022 г., 15:02 sudo LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/custom-openssl/lib make -j > logs/buildlog11.txt
27 мая 2022 г., 15:07 sudo LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/custom-openssl/lib make altinstall > logs/altinstall11.txt

Вроде все строится нормально, но когда пытаюсь импортировать ssl вижу ошибку

27.05.2022, 15:09 $ python3.10
                Python 3.10.4 (основной, 15 мая 2022 г., 12:44:05) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] на Linux
                Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации.
                >>> импортировать ssl
                Traceback (последний последний вызов):
                  Файл "<stdin>", строка 1, в <module>
                  Файл "/usr/local/lib/python3.10/ssl.py", строка 98, в <module>
                    import _ssl # если мы не можем его импортировать, пусть ошибка распространяется
                ModuleNotFoundError: нет модуля с именем «_ssl»

Для справки

27 мая 2022 г., 15:10 $ ls /usr/local/python-3.10.4/lib/python3.10/lib-dynload/*_ssl*
                /usr/local/python-3.10.4/lib/python3.10/lib-dynload/_ssl.cpython-310-x86_64-linux-gnu.so
27.05.2022, 15:11 ]$ кошка /etc/centos-релиз
                Выпуск CentOS Linux 7.9.2009 (основной)

Не уверен, какая еще информация из выходных данных configure и make будет полезна. Я рад включить все или часть файлов.

Рейтинг:0
флаг ar

Решено!

Внимательный читатель заметит, что хотя я собрал последнюю версию python3.10 2022-05-27 15:02, версия, которую я тестировал, была собрана 15 мая 2022 года, 12:44:05.

Эта версия осталась от более раннего ./configure, который не был очищен с помощью make clean, который был выполнен после другого ./configure с другим значением --prefix.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.