Pip不在防火墙后面工作

 小帅哥骑小猪撞墙 发布于 2023-01-30 11:59

我试图从公司防火墙后面使用pip,没有任何运气.

我已经设置http_proxyhttps_proxy环境变量.wget有效,但不是pip.

我试过这个......

sudo -E pip install virtualenv

用这些代理......

export http_proxy=myproxyname.mydomain.com:8080
export https_proxy=myproxyname.mydomain.com:8080 

...并获得了一个很长的堆栈跟踪,以此结束

/requests/packages/urllib3/poolmanager.py", line 214, in __init__
'Not supported proxy scheme %s' % self.proxy.scheme
AssertionError: Not supported proxy scheme None

我查看了poolmanager.py源代码.看起来它需要代理变量以方案开头.所以我再次尝试使用以下代理...

export http_proxy=http://myproxyname.mydomain.com:8080
export https_proxy=https://myproxyname.mydomain.com:8080 (also tried this with http://)

......我收到以下错误

Downloading/unpacking virtualenv
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement virtualenv
Cleaning up...
No distributions at all found for virtualenv
Storing debug log for failure in /root/.pip/pip.log

这与我根本没有代理时得到的错误相同,但是当代理设置时我得到的速度要快得多.

当我尝试wget ...

wget --no-check-certificate https://pypi.python.org/simple/

它工作正常,所以我认为代理本身似乎没问题,除非我用pip尝试它们.

使用--proxy选项而不是envvars没有帮助.结果相同.

有任何想法吗?

谢谢,Bean

3 个回答
  • 使用--trusted-host参数.

    我想出了如何使用--trusted-host参数让我在公司防火墙后面与我一起工作.

    我的第一次尝试是这样的:

    pip install matplotlib
    

    失败的文字是这样的:

    无法获取URL https://pypi.python.org/simple/matplotlib/:确认ssl证书时出现问题:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:645) - 跳过

    那么我尝试了这个工作:

    pip3.5 install matplotlib --trusted-host pypi.python.org

    2023-01-30 12:01 回答
  • 这对我有用

    export HTTP_PROXY=http://myusr:mypswd@myproxyname.mydomain.com:8080
    export HTTPS_PROXY=https://myusr:mypswd@myproxyname.mydomain.com:8080
    sudo -E pip3 install --proxy http://myusr:mypswd@myproxyname.mydomain.com:8080 virtualenv
    

    2023-01-30 12:01 回答
  • 我不得不在Windows中设置所有这些以使其工作.

    set http_proxy=http://proxy.corp.com:8083
    set https_proxy=http://proxy.corp.com:8083
    set all_proxy=http://proxy.corp.com:8083
    set no_proxy=localhost,.corp.com
    
    set HTTP_PROXY=http://proxy.corp.com:8083
    set HTTPS_PROXY=http://proxy.corp.com:8083
    set ALL_PROXY=http://proxy.corp.com:8083
    set NO_PROXY=localhost,.corp.com
    
    set PATH=c:\python27\scripts;c:\python27\;%PATH%
    

    请用您的http代理服务器替换proxy.corp.com:8083.

    之后我使用pip install numpy

    [Last".corp.com"错过了一段时间(修复了它)....顺便说一下,在我们公司防火墙后面发出很多头发之后,这个解决方案是唯一有效的解决方案!]

    2023-01-30 12:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有