分页: 1 / 1

如何给pip设置代理

发表于 : 2015-11-06 7:11
xhsh
pip是用来安装python有关的一些包的安装工具,但由于我的电脑不能上网,想用socks5代理进行安装。请问如何设置代理才能通过socks5代理服务器运行pip安装想要的python包,如numpy, scipy等?谢谢!!

Re: 如何给pip设置代理

发表于 : 2015-11-06 8:58
vickycq
想用socks5代理进行安装。请问如何设置代理才能通过socks5代理服务器
可以尝试下面的方法。但由于pip自身的bug,可能不稳定或无效。目前 (pip 7.1.2) 仍未完全解决。
具体参见 https://github.com/pypa/pip/issues/1805
  1. 用 proxychains 等前置代理工具。例如透过 socks5://127.0.0.1:9051 安装 urllib3
    1-1. 安装 proxychains:apt-get install proxychains
    1-2. 配置 /etc/proxychains.conf 加入类似内容:socks5 127.0.0.1 9051
    1-3. proxychains pip install urllib3
  2. 用代理转换工具将 socks 转为 http/https,再用 shell 环境变量或 pip 自带的 --proxy <proxy> 选项。
参考
http://stackoverflow.com/questions/1414 ... nd-a-proxy
http://stackoverflow.com/questions/2291 ... ocks-proxy

Re: 如何给pip设置代理

发表于 : 2015-11-06 10:10
xhsh
proxychains和tsocks是类似的工具,我设置了tsocks,对于ssh没有问题,但就是pip和apt-get用不了,是怎么回事?

请问一下,如果我是用ssh隧道的方式, ssh -CNfg -D 127.0.0.1:8888 [email protected]建立代理服务器,相当于把本机的127.0.0.1:8888设为了代理服务器,需要设置什么才能让pip能够联网?
vickycq 写了:
想用socks5代理进行安装。请问如何设置代理才能通过socks5代理服务器
可以尝试下面的方法。但由于pip自身的bug,可能不稳定或无效。目前 (pip 7.1.2) 仍未完全解决。
具体参见 https://github.com/pypa/pip/issues/1805
  1. 用 proxychains 等前置代理工具。例如透过 socks5://127.0.0.1:9051 安装 urllib3
    1-1. 安装 proxychains:apt-get install proxychains
    1-2. 配置 /etc/proxychains.conf 加入类似内容:socks5 127.0.0.1 9051
    1-3. proxychains pip install urllib3
  2. 用代理转换工具将 socks 转为 http/https,再用 shell 环境变量或 pip 自带的 --proxy <proxy> 选项。
参考
http://stackoverflow.com/questions/1414 ... nd-a-proxy
http://stackoverflow.com/questions/2291 ... ocks-proxy

Re: 如何给pip设置代理

发表于 : 2015-11-06 11:17
vickycq
xhsh 写了:proxychains和tsocks是类似的工具,我设置了tsocks,对于ssh没有问题,但就是pip和apt-get用不了,是怎么回事?
是怎么用的?
如果 sudo 囗囗囗囗囗囗 apt-get update 应该没问题。
如果 用 囗囗囗囗囗囗 -on 那么相关环境变量可能无法被 sudo 继承
对于 apt-get,也可用 apt-get -o Acquire::http::proxy="<address>:<port>"
但只适用于 http 代理。
xhsh 写了: 请问一下,如果我是用ssh隧道的方式, ssh -CNfg -D 127.0.0.1:8888 [email protected]建立代理服务器,相当于把本机的127.0.0.1:8888设为了代理服务器,需要设置什么才能让pip能够联网?
我测试了一下,是可以的。

代码: 全选

ssh -D 127.0.0.1:9050 [email protected]
echo 'socks5 127.0.0.1 9050' | sudo tee -a /etc/proxychains.conf
sudo proxychains pip install xlrd
没问题,流量全通过192.168.1.115

如果上面的不行,试试 socks 转 http/https 然后用 pip 自带的 --proxy <proxy> 或 shell 里 export http_proxy=<proxy> ?
常见转换工具 polipo, 囗囗囗囗囗囗囗, 3proxy
使用 polipo 将 socks 代理转为 http 代理 https://github.com/shadowsocks/shadowso ... HTTP-proxy
安装想要的python包,如numpy, scipy等
如PyPI连不上,又没有特殊版本需求或 virtualenv 等问题,此类常见的包也可从发行版软件源安装。