Я отвечаю на свой вопрос здесь, чтобы сэкономить кому-то еще 2 часа, которые я потратил на выяснение этого.
Кроме того, хотя это проблема python3 .6, я думаю, что та же самая ошибка будет применить к 2.7
Я использую venv на Ubuntu 18.04, где по умолчанию python составляет 2.7. Прежде чем я решил создать venv, мне нужно было указать python3.6
, чтобы получить правильную версию python для моего проекта.
Затем я решил (в качестве надлежащей практики) использовать venv. Я создал venv следующим образом:
python3.6 -m venv .
из каталога, в котором я работал. Затем -
pip install pyopenssl
Я запустил свой сценарий, как и раньше - шебанг #! /usr/bin/python3.6
./sslchecker.py
и получил ошибку, что не удалось загрузить библиотеку OpenSSL.
Итак, я попробовал это:
$ python3.6
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/dominic/.local/lib/python3.6/site-packages', '/usr/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
>>>
Нет упоминания о моем текущем каталог вообще? Что дает?