安装virtualenvwrapper-powershell时出现HTTP错误402

时间:2017-10-31 18:47:03

标签: python powershell ssl virtualenv

Python版本: 2.7.13

操作系统:Windows Server 2012

按照tutorial设置Python环境

当我尝试执行

pip install virtualenvwrapper-powershell

我收到错误

Collecting virtualenvwrapper-powershell
  Using cached virtualenvwrapper-powershell-12.7.8.zip
    Complete output from command python setup.py egg_info:
    Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "c:\users\sahluw~1\appdata\local\temp\pip-build-2szqsq\virtualenvwrapper-powershell\setup.py", line 11, in <m
odule>
        distribute_setup.use_setuptools()
      File "distribute_setup.py", line 145, in use_setuptools
        return _do_download(version, download_base, to_dir, download_delay)
      File "distribute_setup.py", line 124, in _do_download
        to_dir, download_delay)
      File "distribute_setup.py", line 193, in download_setuptools
        src = urlopen(url)
      File "c:\python27\lib\urllib2.py", line 154, in urlopen
        return opener.open(url, data, timeout)
      File "c:\python27\lib\urllib2.py", line 435, in open
        response = meth(req, response)
      File "c:\python27\lib\urllib2.py", line 548, in http_response
        'http', request, response, code, msg, hdrs)
      File "c:\python27\lib\urllib2.py", line 473, in error
        return self._call_chain(*args)
      File "c:\python27\lib\urllib2.py", line 407, in _call_chain
        result = func(*args)
      File "c:\python27\lib\urllib2.py", line 556, in http_error_default
        raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 403: SSL is required

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in c:\users\xxx~1\appdata\local\temp\pip-build-2szqsq\vir
tualenvwrapper-powershell\

如何成功启用SSL?尝试基于此link启用SSL和TLS并重新启动服务器,但没有运气

或至少,任何解决方法。

2 个答案:

答案 0 :(得分:1)

我不是开发人员而且我认为我并不完全有资格解释应该如何解决这个问题,但我最近遇到了同样的问题而且只花了2天的大部分时间在互联网上寻找解决方案。

我安装了python3.6和python2.7,所以对我来说有一点需要环境变量的顺序。最简单的似乎是将python2.7 env vars放在最上面以便安装

pip install virtualenv

然后我解决SSL 403错误的方法是再次使环境变量,将python3放在python2上面,以便pip安装python3然后下载实际的virtualenvwrapper-powershell包[virtualenvwrapper-powershell-12.7。 8.zip]从这里: https://pypi.python.org/pypi/virtualenvwrapper-powershell

一旦你得到了一些链接我得到的信息来自: https://bitbucket.org/guillermooo/virtualenvwrapper-powershell/issues/5/cant-install-package-with-python3-and-pip

https://bitbucket.org/guillermooo/virtualenvwrapper-powershell/issues/21/build-error-with-old-distribute

因此,使用这两个链接,我们现在正在使用python3安装envwrapper并获得另一个错误:TOKEN_READ。 通过改变第50行的分配来编辑上面下载的zip中的distribute_python.py文件解决了这个问题(适合我)。在&#39; DEFAULT_URL = http&#39;之后。将其余的URL保留在引号中,只需将其设为SSL地址即可。 接下来打开同一个ZIP中的setup.py文件,然后通过删除teh&#39; L&#39;来编辑第76行。跟随TOKEN_READ变量之后的数字。

这应该处理TOKEN_READ错误,它似乎与python3和virtualenvwrapper有关,以及我们似乎都经历过的SSL错误,这似乎与版本有关。分发文件。

一旦完成,你应该能够

pip install virtualenvwrapper-powershell

重新启动powershell和

Import-Module virtualenvwrapper

如果你现在得到另外两个错误,第一个应该是一个Function:/ TabExtension Error

通过查找和编辑您在错误消息中的路径中看到的文件并仅添加“&#39; 2”来解决问题。在第12行的Function / TabExtension之后我认为。保存并重新启动PowerShell。如果您有一个错误,则通过为WORKON_HOME创建系统环境变量来处理。说明: http://www.tylerbutler.com/2012/05/how-to-install-python-pip-and-virtualenv-on-windows-with-powershell/ 和这里: https://rseshan.wordpress.com/2017/04/05/configuring-virtualenv-for-python-on-windows-10-using-powershell-wrapper/

除此之外,我还在您问题中链接的教程中安装了ez_setup.py。以及在那之后通过以下方式重新安装PIP:

python -m pip install --upgrade --force-reinstall pip

但在完成上述手动包装器修改之前,我完全不需要它,因为它本身并没有帮助。

希望这有帮助!但经过几个小时的谷歌搜索后,这让它对我有用;)

关于以下评论的ADDON:

当然,下载的envwrapper ZIP文件需要安装在下载后它位于驱动器上的路径上,所以不仅仅是pip install virtualenvwrapper-powershell,而是我的pip install C:\Users\*USER*\Downloads\virtualenvwrapper-powershell-12.7.8\virtualenvwrapper-powershell-12.7.8

现在发生了另一个错误,涵盖here

..是virtualenvwrapper可能会将自己安装在一个奇怪的位置,当你尝试使用Import-Module virtualenvwrapper时会导致错误 在我的情况下是:C:\ Program Files(x86)\ Python27 \ Lib \ site-packages \ Users * USER * \ Documents \ WindowsPowerShell \ Modules \ VirtualEnvWrapper而不是C:\ Users * USER * \ Documents \ WindowsPowerShell \ Modules \ VirtualEnvWrapper 我只需将每个模块中的Modules文件夹剪切/粘贴到User / Documents文件夹中的正确文件夹中,Powershell配置文件就可以找到它。我只是想我已经添加了这个,因为我今天刚刚完成了所有这些步骤。

答案 1 :(得分:0)

下载zip文件:

https://files.pythonhosted.org/packages/f5/40/36d418b950139cd09738c0924066ef340ffd6c43f79f67c6152c56a8a628/virtualenvwrapper-powershell-12.7.8.zip

解压缩文件,打开distribute_setup.py,然后将DEFAULT_URLhttp更改为https,然后将文件重新压缩为一个新的zip文件。

pip install path_to_zipfile