首页 文章

在代理后面使用pip

提问于
浏览
227

我正在尝试在工作中使用代理背后的pip .

this post的答案之一建议使用CNTLM . 我按this other post安装并配置了它,但是运行 cntlm.exe -c cntlm.ini -I -M http://google.com 给出了错误 Connection to proxy failed, bailing out .

我也尝试了 pip install -–proxy=user:pass@localhost:3128 (默认的CNTLM端口),但提出了 Cannot fetch index base URL http://pypi.python.org/simple/ . 很明显,代理商可以做些什么 .

有没有人知道如何更确切地检查CNTLM是否设置正确,或者是否还有另一种解决方法?我知道你也可以设置 http_proxy 环境变量,如here所述,但我不确定要放入什么凭证 . 来自 cntlm.ini 的那些?

26 回答

  • 5

    用于窗户;在命令提示符下设置您的代理
    set HTTP_PROXY=domain\username:password@myproxy:myproxyport

    例:
    set http_proxy=IND\namit.kewat:xl123456@192.168.180.150:8880

  • 6

    根据我们的安全策略 I may not use https 与pypi,SSL检查重写证书,它打破了www.python.org的内置pip安全性 . 中间人是网络管理员 .

    所以 I need to use plain http . 为此,我需要覆盖系统代理以及默认的pypi:

    bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"
    
  • 1

    手机作为移动热点/ USB网络共享

    如果我在通过公司代理寻找方法时遇到很多困难,我会通过手机连接到网络(如果我有无线热点,如果没有wifi连接线,则可以快速连接到网络)并快速 pip install .

    可能不适用于所有设置,但应该让大多数人在紧要关头 .

  • 35

    在Windows 7中:

    pip install --proxy DOMAIN\user:password@proxyaddress:port package
    

    即:

    pip install --proxy BR\neo:p4ssw0rd@myproxyrocks.com.br:8080 virtualenv
    
  • 8
    $ pip --proxy http://proxy-host:proxy-port install packagename
    

    这对我有用

  • 1

    在Ubuntu 14.04 LTS中

    sudo pip --proxy http://PROXYDOM:PROXYPORT install package
    

    干杯

  • 0

    要为Windows设置CNTLM,请按照article进行操作 . 对于Ubuntu,请阅读my blog post .

    Edit:

    基本上,要在任何平台中使用CNTLM,您需要设置用户名和散列密码,然后才能使用 http://127.0.0.1:3128 作为父代理的代理 .

    • 编辑配置并添加域,用户名,密码和父代理等重要信息 .

    • 生成哈希密码 .

    Windows cntlm –c cntlm.ini –H

    Ubuntu/Linux cntlm -v -H -c /etc/cntlm.conf

    • 从配置中删除纯文本密码,并将其替换为生成的密码 .

    检查是否有效:

    Windows cntlm –M http://www.google.com

    Ubuntu/Linux sudo cntlm -M http://www.google.com/

    有关更详细的说明,请参阅上面的链接 .

    Update:

    为了完整起见,我最近能够在Windows中配置和使用CNTLM . 我在Kindle for PC的同步过程中遇到了一个问题,因为我们的代理和安装和配置CNTLM for Windows修复了这个问题 . 有关详细信息,请参阅my article .

  • 22

    使用Ubuntu我无法使代理选项像宣传的那样工作 - 所以跟随命令 not 工作:

    sudo pip --proxy http://web-proxy.mydomain.com install somepackage
    

    但是导出 https_proxy 环境变量(注意它的 https_proxy 而不是 http_proxy )就可以了:

    export https_proxy=http://web-proxy.mydomain.com
    

    然后

    sudo -E pip install somepackage
    
  • 1

    在Windows下不要忘记设置

    SET HTTPS_PROXY=<proxyHost>:<proxyPort>
    

    我需要设定什么

    pip install pep8
    
  • 4

    我没跟我工作 . 我使用https作品:

    pip install --proxy=https://user@mydomain:port somepackage
    

    要进行更新,请添加-U .

  • 10

    您可以通过将公司的根证书添加到site-packages / pip文件夹中的cacert.pem文件来继续使用pip over HTTPS . 然后通过在〜/ pip / pip.conf中添加以下行来配置pip以使用您的代理(如果您在Windows上,则添加〜\ pip \ pip.ini):

    [global]
    proxy = [user:passwd@]proxy.server:port
    

    而已 . 无需使用第三方软件包或放弃HTTPS(当然,您的网络管理员仍然可以看到您正在做的事情) .

  • 3

    这对我有用(在Windows上通过CMD):

    pip install --proxy proxyserver:port requests
    
  • 1

    我有同样的问题:在工作中使用auth的公司代理背后,我没有pip工作,以及Sublime Text 2(嗯,它适用于我的代理设置的自定义设置) . 对于pip(我将在git上尝试),我解决了它安装cntlm代理 . 配置非常简单:

    • 编辑cntlm.ini

    • 编辑"Username","Domain","Password"个字段

    • 使用您的代理设置添加"Proxy"行: server:port

    • 确保"NoProxy"行整合"localhost"(默认情况下为此)

    • 注意默认端口:3128

    • 保存,就是这样 .

    要测试它是否有效,只需启动一个新的命令行工具,然后尝试:

    pip install django --proxy=localhost:3128
    

    这对我有用 . 希望这会帮助你 .

  • 4

    打开Windows命令提示符 .

    设置代理环境变量 .

    set http_proxy=http://user:password@proxy_ip:port
    set https_proxy=https://user:password@proxy_ip:port
    

    在同一Windows命令提示符下使用代理安装Python包 .

    pip install --proxy="user:password@proxy_ip:port" package_name
    
  • 44

    在“高级系统设置”中设置环境变量 . 在命令提示符中,它应该像这样:

    C:\ Windows \ system32> echo%http_proxy%http://用户名:passowrd @ proxy:port C:\ Windows \ system32> echo%https_proxy%http://用户名:password @ proxy:port

    之后,简单的 pip install whatEver 应该可行 .

  • 25

    如果你想通过代理升级pip,可以使用(例如在Windows中):

    python -m pip --proxy http://proxy_user:proxy_password@proxy_hostname:proxy_port insta
    ll --upgrade pip
    
  • 10

    对于Windows用户:如果要安装Flask-MongoAlchemy,请使用以下代码

    pip install Flask-MongoAlchemy --proxy="http://example.com:port"**
    
  • 1

    在CentOS(实际上我认为所有Linux发行版都相似)运行

    env|grep http_proxy
    

    env|grep https_proxy
    

    检查这些命令的输出是什么(它们应该包含您的代理地址) .

    如果输出是空的或具有不正确的值,修改它们,例如:

    export http_proxy=http://10.1.1.1:8080
    export https_proxy=http://10.1.1.1:8080
    

    现在尝试使用pip获取并安装一些包:

    pip --proxy http://10.1.1.1:8080 install robotframework
    

    实际上,当它不起作用时,我从未遇到过这种情况 . 对于某些系统,您需要成为root(sudo是不够的) .

  • 0

    警告,“pip search”命令有一些非常糟糕的事情 . 无论传递方式如何,搜索命令都不使用代理设置 .

    我试图找出问题只尝试"search"命令,并发现这篇文章详细解释了该错误:https://github.com/pypa/pip/issues/1104

    我可以使用python 2.7.9在Debian 8上用pip 1.5.6确认bug . “pip install”命令就像一个魅力 .

  • 11

    我收到了错误:

    chris@green:~$ sudo http_proxy=http://localhost:3128 pip install django==1.8.8 
    Downloading/unpacking django==1.8.8
      Cannot fetch index base URL http://pypi.python.org/simple/
      Could not find any downloads that satisfy the requirement django==1.8.8
    No distributions at all found for django==1.8.8
    Storing complete log in /home/chris/.pip/pip.log
    

    (代理服务器的端口是转发到 localhost:3128 的ssh端口) .

    我必须设置http和https代理才能使其工作:

    chris@green:~$ sudo http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 pip install django==1.8.8
    Downloading/unpacking django==1.8.8
      Downloading Django-1.8.8.tar.gz (7.3Mb): 7.3Mb downloaded
      Running setup.py egg_info for package django
    
        warning: no previously-included files matching '__pycache__' found under directory '*'
        warning: no previously-included files matching '*.py[co]' found under directory '*'
    Installing collected packages: django
      Running setup.py install for django
    
        warning: no previously-included files matching '__pycache__' found under directory '*'
        warning: no previously-included files matching '*.py[co]' found under directory '*'
        changing mode of build/scripts-2.7/django-admin.py from 644 to 755
        changing mode of /usr/local/bin/django-admin.py to 755
        Installing django-admin script to /usr/local/bin
    Successfully installed django
    Cleaning up...
    

    因为 http://pypi.python.org/simple/ 重定向到 https://pypi.python.org/simple 但是 pip 的错误并没有告诉你 .

  • 0

    我也不是这方面的专家,但我通过在〜/ .bashrc文件中设置 all_proxy 变量来实现它 . 要打开 ~/.bashrc 文件并从终端运行以下命令进行编辑,

    gedit ~/.bashrc &
    

    在文件末尾添加以下内容,

    export all_proxy="http://x.y.z.w:port"
    

    然后打开一个新终端或在同一终端上运行以下,

    source ~/.bashrc
    

    仅设置 http_proxyhttps_proxy 变量不足以简单使用 pip install somepackage . 虽然莫名其妙 sudo -E pip install somepackage 工作,但这给我一些问题,以防我在我的用户的文件夹中使用本地安装的Anaconda .

    附: - 我正在使用Ubuntu 16.04 .

  • 224

    在本地做这件事怎么样?您很可能通过浏览器从https源下载

    • 下载您的模块文件(mysql-connector-python-2.0.3.zip / gz ...等) .

    • 解压缩并运行setup.py所在的提取目录并调用:

    C:\mysql-connector-python-2.0.3>python.exe setup.py install
    
  • 5

    这对我有用:

    pip --proxy proxy url:port command package
    
  • 83

    我使用"Fiddler"(https://www.telerik.com/download/fiddler)在Windows中解决了PIP的问题 . 下载并安装后,请执行以下操作:

    “规则”=>点击“自动验证”

    示例:pip install virtualenv -proxy 127.0.0.1:8888

    只需打开提示并使用即可 .

    https://github.com/pypa/pip/issues/1182搜索"voltagex"(2015年5月22日评论)

  • 53

    对于Windows转到C:/ProgramData/pip/pip.ini,然后设置

    [全球]

    proxy = http://YouKnowTheRest

    与您的代理详细信息 . 这会永久配置pip的代理 .

  • 0

    设置以下环境变量: export PIP_PROXY=http://web-proxy.mydomain.com

相关问题