【发布时间】:2014-05-19 21:21:43
【问题描述】:
我正在使用ssh -D 创建套接字代理,想知道如何使用pip(或easy_install)?我找到了this question,但那是一个 http 代理。
另外,请给我一个适用于 OS X 的解决方案。(我试过 proxifier,它适用于 pip install,但不适用于 sudo pip install)
【问题讨论】:
我正在使用ssh -D 创建套接字代理,想知道如何使用pip(或easy_install)?我找到了this question,但那是一个 http 代理。
另外,请给我一个适用于 OS X 的解决方案。(我试过 proxifier,它适用于 pip install,但不适用于 sudo pip install)
【问题讨论】:
最简单的方法,也适用于许多操作系统:
pip install pysocks
pip install <yourpacakge> --proxy socks5:127.0.0.1:8123
根据需要替换 socks4 和您自己的 ip/port。
【讨论】:
pip,这将不起作用
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py.
python3-pysocks,然后运行第二个命令。
使用 socks proxifier,例如 proxychains。
命令 pip 将类似于 proxychains pip install package_name。
【讨论】:
对于 CentOS,你可以使用 privoxy 将 socks5 代理转换为 http 代理。
yum install privoxy
然后编辑/etc/privoxy/config,在文件末尾添加:
forward-socks5 / 127.0.0.1:1080 .
它将 socks5 代理从 1080 转换为 http 代理 8118。然后你可以在你的 pip 配置文件中指定代理:
[global]
proxy = 127.0.0.1:8118
请勿使用polipo,因为它已被弃用。
【讨论】:
没关系,--proxy 似乎只适用于 http(s) 代理。
来自“pip --help”
--proxy <proxy> Specify a proxy in the form
[user:passwd@]proxy.server:port.
编辑:我终于放弃了 sock 代理并在我的远程机器上运行一个 java http 代理 (jhttp2.sourceforge.net/) 并使用 ssh -L port:localhost:port 将端口转发到远程机器并使用那个 http 代理。
【讨论】:
运行这两个命令:
pip install pysocks5
pip install --proxy socks5://[user:passwd@]proxy.server:port something
【讨论】:
pysocks,你可以用socks4或socks5协议调用它。
首先你可以尝试使用
安装 proxychains-ngbrew install proxychains-ng
可以尝试使用 ssh -D like 制作 socks5 代理
ssh -D 12345 -fqN root@[your-vps-ip]
并使用公钥或密码访问您的 vps
那么你就有了 proxychain 和 socks5。
现在编辑 /etc/proxychains.conf ,只需将这一行添加到它的末尾
socks5 127.0.0.1 12345
并对此发表评论
socks4 127.0.0.1 9050
终于
proxychains4 pip install [whateveryouwant]
【讨论】:
正如其他用户发布的那样,以下内容非常适合通过远程主机使用 pip:
# SOCKS4 proxy creation
ssh -D9999 <remote host URI>
# use pip with the previously created proxy connection (requires pysocks)
python3 -m pip install <package name> --proxy socks5:localhost:9999
引导
“但是我需要 pysocks 来通过代理运行 pip,而您无法连接到 pypi 下载软件包,因为我没有正常工作的 pip”
解决此问题的一种方法是在另一台机器上下载 pysocks wheel 包:
python3 -m pip download pysocks
这会将 pysocks 包下载到您的机器上。将 PySocks-x-x-x-py3-none-any.whl 文件传输到需要代理功能的机器上并安装:
python3 -m pip install PySocks*.whl
【讨论】:
在 Windows 上(我的是 Win2012R2)我通过执行以下步骤通过 SOCKS5-proxy 管理连接:
所有用户级pip:
将此行添加到“C:\ProgramData\pip”下的 pip.ini 中:
[global]
proxy = socks5:{proxy-ip}:{proxy-port}
打开 cmd.exe(可能但不一定以管理员身份...取决于您的文件系统配置...) 将代理变量明确设置为“无代理”!!! ...像这样:
set http_proxy=no-proxy
set https_proxy=no-proxy
例如运行pip install your_module,最后通过 pip.ini 中指定的 socks5-proxy 运行
对于用户级 pip,您需要根据 pip-documentation 将 pip.ini 放在其他位置。
【讨论】: