Я нахожусь на Kubuntu 18.10 с установленными Python 2.7.15 и 3.6.7, и вывод lsb_release -a
-
LSB Version: core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description: Ubuntu 18.10
Release: 18.10
Codename: cosmic
pip
работает на моей машине, так как он для Python 2.7 и вывод [ 117]
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
Но ввод pip3 дает ошибку по умолчанию. Выход просто Segmentation fault
. Тот же вывод для pipenv. Я несколько раз пытался удалить и установить python3-pip, удалил кэш pip в /home/<username>/.cache
. Когда я пытаюсь добавить любой PPA с помощью apt-add, я получаю этот вывод
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 380, in get_ppa_info
ret = get_ppa_info_from_lp(user, ppa)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 110, in get_ppa_info_from_lp
return get_info_from_lp(lp_url)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 104, in get_info_from_lp
return get_info_from_https(lp_url, True)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 96, in get_info_from_https
data = func(lp_url=url, accept_json=accept_json, retry_delays=retry_delays)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 139, in _get_https_content_py3
cafile=LAUNCHPAD_PPA_CERT)
File "/usr/lib/python3.6/urllib/request.py", line 210, in urlopen
raise ValueError('SSL support not available')
ValueError: SSL support not available
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 136, in <module>
shortcut = shortcut_handler(line)
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 1020, in shortcut_handler
ret = factory(shortcut)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 469, in shortcut_handler
return PPAShortcutHandler(shortcut)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 426, in __init__
info = get_ppa_info(self.shortcut)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 392, in get_ppa_info
_get_suggested_ppa_message(user, ppa))
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 349, in _get_suggested_ppa_message
lp_user = get_info_from_lp(LAUNCHPAD_USER_API % user)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 104, in get_info_from_lp
return get_info_from_https(lp_url, True)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 96, in get_info_from_https
data = func(lp_url=url, accept_json=accept_json, retry_delays=retry_delays)
File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 139, in _get_https_content_py3
cafile=LAUNCHPAD_PPA_CERT)
File "/usr/lib/python3.6/urllib/request.py", line 210, in urlopen
raise ValueError('SSL support not available')
ValueError: SSL support not available
Еще один признак того, почему я думаю, что есть проблема с ssl, заключается в том, что когда я import ssl
в терминале python2, он работает. Но импорт ssl в python 3.6 дает segfault
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Segmentation fault (core dumped)
UPDATE
Когда я импортирую любой другой модуль до ssl
, скажем hashlib
, я получаю другой ошибка
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> import ssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/ssl.py", line 101, in <module>
import _ssl # if we can't import it, let the error propagate
ImportError: /usr/local/lib/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so)
Удаление существующих openssl из /usr/bin/openssl
и /usr/local/bin/openssl
и переустановка openssl с помощью этого ответа устранили проблему. До этого я также попробовал следующее, как предложил @ByteCommander
sudo apt install --reinstall openssl
sudo apt install --reinstall code
sudo apt install --reinstall python3-update-manager