LINUX.ORG.RU

No module named '_ssl'

 , ,


1

1

Добрый день, имеется Rosa (Centos7) Zabbix 5, для сбора с одного хранилища данных требуется запускать скрипт на Python.

Python 3.8.14 (default, Nov 1 2022, 12:51:32)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux

OpenSSL 1.1.1q 5 Jul 2022

rpm -qa | grep openssl

openssl098e-0.9.8e-29.res7c.3.x86_64

openssl111-libs-1.1.1m-1.codeit.el7.x86_64

openssl-1.0.2k-19.res7.x86_64

openssl11-libs-1.1.1k-4.el7.x86_64

openssl-libs-1.0.2k-19.res7.x86_64

Во время установки python в фале setup раскоментировал 4 строки с ssl.

Но когда запускаю Import не находит модуль

import ssl

Traceback (most recent call last):

File «», line 1, in

File «/usr/local/lib/python3.8/ssl.py», line 98, in

import _ssl             # if we can't import it, let the error propagate

ModuleNotFoundError: No module named ‘_ssl’



Последнее исправление: rk3dnp (всего исправлений: 4)

В CentOS 7 нет Python 3.8, там только старый неподдерживаемый 3.6.

Надо смотреть, как был установлен Python 3.8, если скомпилирован локально из исходников, то перекомпилировать с ключом, включающим SSL. И да, как уже написали, перед этим установить пакет openssl-devel.

emorozov
()
Ответ на: комментарий от emorozov

А я вот не пойму, это разве разные пакеты ?

rpm -qa | grep openssl-libs

openssl-libs-1.0.2k-19.res7.x86_64

rpm -ivh openssl-devel-1.0.2k-19.el7.x86_64.rpm

предупреждение: openssl-devel-1.0.2k-19.el7.x86_64.rpm: Заголовок V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

ошибка: Неудовлетворенные зависимости: openssl-libs(x86-64) = 1:1.0.2k-19.el7 нужен для openssl-devel-1:1.0.2k-19.el7.x86_64

rk3dnp
() автор топика
Ответ на: комментарий от rk3dnp

Cent OS 7 - старьё. Увы, у меня на работе тоже ограничено используется. Терпеть не могу, старый хлам, любовь некрофилов.

В нём есть из коробки только Python 3.6, который уже не поддерживается официально.

В названиях пакетов openssl-libs есть небольшое различие (19.res7 vs 19.el7), увы. Как его разрешить по уму, я не знаю, пусть спецы подскажут…

Можно грубой силой --nodeps установить, но вряд ли это можно назвать идеальным решением.

P.S. Хотя у меня в списках пакетов внезапно оказался rh-python38, но не знаю, точно ли он из стандартных реп.

emorozov
()
Последнее исправление: emorozov (всего исправлений: 1)
Ответ на: комментарий от grem

Как раз о сервере. В репозитории нету новых версий python.

wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz

tar xvf Python-3.8.2.tgz

cd Python-3.8*/

как писал выше, в папке модулес в файле setup раскоментировал 4 строки от ssl

./configure –enable-optimizations

sudo make altinstall

rk3dnp
() автор топика
Ответ на: комментарий от rk3dnp

Ну так и модули внешние, устанавливаемые для python теперь в эти же каталоги должны устанавливаться. Системные то ставятся для python 3.6. Если они есть, конечно:(

Но вот ssl.py туда, естественно не попал.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от rk3dnp

Должен быть ещё что-то типа такого: /usr/lib/python3.10/lib-dynload/_ssl.cpython-310-x86_64-linux-gnu.so

Это не Cent OS, и Python 3.10, но расширение ssl написано на C, поэтому должен быть соответствующий .so файл для него.

emorozov
()