ВНИМАНИЕ: pip настроен с местоположениями, требующими TLS / SSL, однако модуль ssl в Python недоступен - PullRequest
1 голос
/ 10 июля 2020

Я хотел бы использовать Python3 .8.x в Google Cloud Compute Engine.

Сначала я создал экземпляр с помощью команды gcloud.

gcloud compute instances create \
  pegasus-test \
  --zone=asia-northeast1-b \
  --machine-type=n1-highmem-8 \
  --boot-disk-size=500GB \
  --image-project=ml-images \
  --image-family=tf-1-15 \
  --maintenance-policy TERMINATE --restart-on-failure

По умолчанию , Python версия 3.5.3.

python3 -V
Python 3.5.3

Поэтому я обновил Python. Я выполнил эту инструкцию. ( изменение движка облачных вычислений Google на python 3,6 )

cd /tmp
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
tar -xvf Python-3.8.3.tgz
cd Python-3.8.3
./configure
sudo apt-get install zlib1g-dev
sudo make
sudo make install

У меня нет сообщения об ошибке. Теперь у меня Python3 .8.3.

python3 -V
Python 3.8.3

Далее я хотел бы использовать PEGASUS. (https://github.com/google-research/pegasus)

git clone https://github.com/google-research/pegasus
cd pegasus
export PYTHONPATH=.
pip3 install -r requirements.txt

Затем я получил сообщение об ошибке.

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting absl-py (from -r requirements.txt (line 1))
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("
Can't connect to HTTPS URL because the SSL module is not available.")': /simple/absl-py/
  Could not fetch URL https://pypi.org/simple/absl-py/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(
host='pypi.org', port=443): Max retries exceeded with url: /simple/absl-py/ (Caused by SSLError("Can't connect to HTTPS URL beca
use the SSL module is not available.")) - skipping
  ERROR: Could not find a version that satisfies the requirement absl-py (from -r requirements.txt (line 1)) (from versions: non
e)
ERROR: No matching distribution found for absl-py (from -r requirements.txt (line 1))
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='
pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SS
L module is not available.")) - skipping

Я проверил версию pip.

pip3 -V
pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

Итак, я попытался обновить pip. pip3 install --upgrade pip Затем я получил это сообщение об ошибке.

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Ca
n't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='
pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SS
L module is not available.")) - skipping
Requirement already up-to-date: pip in /usr/local/lib/python3.8/site-packages (19.2.3)
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='
pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SS
L module is not available.")) - skipping

Итак, теперь я использовал pip вместо pip3. Я ввожу pip install -r requirements.txt

Результат.

Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: absl-py in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1)) (0.9.0)
Requirement already satisfied: mock in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2)) (3.0.5)
Requirement already satisfied: numpy in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 3)) (1.16.6)
Collecting rouge-score
  Downloading rouge_score-0.0.4-py2.py3-none-any.whl (22 kB)
Collecting sacrebleu
  Downloading sacrebleu-1.3.7.tar.gz (26 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-HCHhuX/sacrebleu/setup.p
y'"'"'; __file__='"'"'/tmp/pip-install-HCHhuX/sacrebleu/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f
.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/
pip-install-HCHhuX/sacrebleu/pip-egg-info
         cwd: /tmp/pip-install-HCHhuX/sacrebleu/
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-HCHhuX/sacrebleu/setup.py", line 65, in <module>
        version = get_version(),
      File "/tmp/pip-install-HCHhuX/sacrebleu/setup.py", line 56, in get_version
        with open(os.path.join(os.path.dirname(__file__), 'sacrebleu.py'), encoding='utf-8') as fin:
    TypeError: 'encoding' is an invalid keyword argument for this function
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WARNING: You are using pip version 20.0.2; however, version 20.1.1 is available.
You should consider upgrading via the '/usr/bin/python -m pip install --upgrade pip' command.

Как я могу реализовать pip3 install -r requirements.txt? Не могли бы вы мне дать совет?

1 Ответ

2 голосов
/ 15 июля 2020

У меня была такая же проблема, и мне пришлось потратить несколько дней на ее решение. После изучения множества различных решений, этот работал с проблемой ssl pip.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...