如何给pip设置代理
-
- 帖子: 318
- 注册时间: 2007-06-21 2:52
如何给pip设置代理
pip是用来安装python有关的一些包的安装工具,但由于我的电脑不能上网,想用socks5代理进行安装。请问如何设置代理才能通过socks5代理服务器运行pip安装想要的python包,如numpy, scipy等?谢谢!!
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: 如何给pip设置代理
可以尝试下面的方法。但由于pip自身的bug,可能不稳定或无效。目前 (pip 7.1.2) 仍未完全解决。想用socks5代理进行安装。请问如何设置代理才能通过socks5代理服务器
具体参见 https://github.com/pypa/pip/issues/1805
- 用 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 - 用代理转换工具将 socks 转为 http/https,再用 shell 环境变量或 pip 自带的 --proxy <proxy> 选项。
http://stackoverflow.com/questions/1414 ... nd-a-proxy
http://stackoverflow.com/questions/2291 ... ocks-proxy
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户
-
- 帖子: 318
- 注册时间: 2007-06-21 2:52
Re: 如何给pip设置代理
proxychains和tsocks是类似的工具,我设置了tsocks,对于ssh没有问题,但就是pip和apt-get用不了,是怎么回事?
请问一下,如果我是用ssh隧道的方式, ssh -CNfg -D 127.0.0.1:8888 [email protected]建立代理服务器,相当于把本机的127.0.0.1:8888设为了代理服务器,需要设置什么才能让pip能够联网?
请问一下,如果我是用ssh隧道的方式, ssh -CNfg -D 127.0.0.1:8888 [email protected]建立代理服务器,相当于把本机的127.0.0.1:8888设为了代理服务器,需要设置什么才能让pip能够联网?
vickycq 写了:可以尝试下面的方法。但由于pip自身的bug,可能不稳定或无效。目前 (pip 7.1.2) 仍未完全解决。想用socks5代理进行安装。请问如何设置代理才能通过socks5代理服务器
具体参见 https://github.com/pypa/pip/issues/1805
参考
- 用 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- 用代理转换工具将 socks 转为 http/https,再用 shell 环境变量或 pip 自带的 --proxy <proxy> 选项。
http://stackoverflow.com/questions/1414 ... nd-a-proxy
http://stackoverflow.com/questions/2291 ... ocks-proxy
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: 如何给pip设置代理
是怎么用的?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
如果上面的不行,试试 socks 转 http/https 然后用 pip 自带的 --proxy <proxy> 或 shell 里 export http_proxy=<proxy> ?
常见转换工具 polipo, 囗囗囗囗囗囗囗, 3proxy
使用 polipo 将 socks 代理转为 http 代理 https://github.com/shadowsocks/shadowso ... HTTP-proxy
如PyPI连不上,又没有特殊版本需求或 virtualenv 等问题,此类常见的包也可从发行版软件源安装。安装想要的python包,如numpy, scipy等
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户