Невозможно установить зависимости с помощью pip - PullRequest
0 голосов
/ 01 мая 2018

У меня есть скрипт, который настроен для установки зависимостей, если они еще не установлены. Код для этого ниже:

import importlib
try:
    importlib.import_module('selenium')
    importlib.import_module('win32com.client')
    importlib.import_module('keyboard')
except ImportError:
    import pip
    pip.main(['install', 'selenium', '--trusted-host'])
    pip.main(['install', 'pypiwin32' '--trusted-host'])
    pip.main(['install', 'keyboard', '--trusted-host'])
finally:
    globals()['selenium'] = importlib.import_module('selenium')
    globals()['win32com.client'] = importlib.import_module('win32com.client')
    globals()['keyboard'] = importlib.import_module('keyboard')

Это прекрасно работает на моем компьютере и некоторых моих коллегах, но остальная часть моей команды (в той же сети в том же месте) не может заставить это работать. Сначала возникает проблема с pip - она ​​выдает ошибку SSL даже при вызове непосредственно из командной строки с помощью «pip install selenium» (и даже с «pip install --trusted-host pypi.python.org»):

Повторная попытка (Повторная попытка (всего = 4, подключение = Нет, чтение = Нет, перенаправление = Нет, status = None)) после разрыва соединения с помощью 'SSLError (SSLError (1,' [SSL: CERTIFICATE_VERIFY_FAILED] проверка не пройдена (_ssl.c: 833) '),)': / simple / selenium

Я нашел этот пост , который привел меня к попытке --trusted-host, но безуспешно. Я проверил C: Program Data /, и там не было папки «pip», поэтому я создал ее и создал файл конфигурации pip.ini. (ПРИМЕЧАНИЕ. Конфигурационного файла на уровне пользователя тоже не было. Я подтвердил, что Pip был установлен).

В файле pip.ini я скопировал / вставил решение из этой темы:

[global]
trusted-host pypi.python.org
    pypi.org
    files.pythonhosted.org

Теперь я получаю сообщение об ошибке:

configparser.ParsingError: Source contains parsing errors: 'C:\\ProgramData\\pip\\pip.ini' 
  [line 2]: 'trusted-host pypi.python.org\n' 
  [line 3]: etc etc etc 
  [line 4]: etc etc etc

Чтобы проверить, смогу ли я обойти этот процесс, я использовал easy_install для успешной установки selenium, но не смог найти pywin32. Он нашел клавиатуру, но при запуске setup.py для этого модуля он выдал ошибку «Нет такого файла или директойра:« CHANGES.md ».

Подводя итог моим вопросам:

  1. Почему между компьютерами одной и той же сети могут использоваться pip и доступ к pypi.python.org? (Кроме того, вызывает ли отсутствие папок pip и файлов pip.ini при установке по умолчанию красные флажки?)

  2. Почему происходит сбой «pip install --trusted-host pypi.python.org selenium»?

  3. Что не так с анализом моего файла конфигурации?

  4. Существует ли причина, по которой easy_install не может найти pywin32?

...