无法使用pip

时间:2018-05-01 17:50:24

标签: python ssl pip pywin32

我有一个脚本,如果尚未安装,则设置为安装依赖项。代码如下:

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起初 - 即使直接从命令行使用“pip install selenium”(甚至使用“pip install --trusted-host pypi.python.org”)调用它也会引发SSL错误:

  

重试(重试(总数= 4,连接=无,读取=无,重定向=无,   status = None))连接被'SSLError(SSLError(1,'[SSL:   CERTIFICATE_VERIFY_FAILED]认证验证失败   (_ssl.c:833)'),)':/ simple / selenium

我发现this post导致我尝试使用--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?

0 个答案:

没有答案