Сломанный pip3, pipenv и add-apt-repository в Kubuntu 18.10, возможно, что-то не так с SSL lib

Я нахожусь на 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)
1
задан 23 April 2019 в 21:31

1 ответ

Удаление существующих 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
0
ответ дан 23 April 2019 в 21:31

Другие вопросы по тегам:

Похожие вопросы: