当我尝试使用
pip install
时,它不断抛出此错误。
$ pip install django
ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
我尝试安装
request[socks]
,但随后出现错误,指出它无法识别袜子版本。
以下是代理设置在我的系统上:
$ printenv | grep -i proxy
NO_PROXY=localhost,127.0.0.0/8,::1
http_proxy=http://proxy.iiit.ac.in:8080/
FTP_PROXY=http://proxy.iiit.ac.in:8080/
ftp_proxy=http://proxy.iiit.ac.in:8080/
all_proxy=socks://proxy.iiit.ac.in:8080/
ALL_PROXY=socks://proxy.iiit.ac.in:8080/
https_proxy=http://proxy.iiit.ac.in:8080/
HTTPS_PROXY=http://proxy.iiit.ac.in:8080/
no_proxy=localhost,127.0.0.0/8,::1
HTTP_PROXY=http://proxy.iiit.ac.in:8080/
错误消息“缺少 SOCKS 支持的依赖项”表明的 pip 安装无法找到安装需要 SOCKS 代理的软件包所需的库。虽然已将代理设置为使用 SOCKS,但 pip 默认使用 HTTP 代理设置。
可以通过以下两种方法解决此问题:
1. 使用
pip
的
--proxy
选项指定 SOCKS 代理:
在安装软件包时,可以直接在
pip
命令中指定 SOCKS 代理,如下所示:
pip install django --proxy socks5://proxy.iiit.ac.in:8080
这将指示
pip
使用提供的 SOCKS 代理进行安装。请注意,
socks5
用于指定 SOCKS 版本 5。如果的代理使用其他版本,请相应地进行更改。
2. 使用
pip_socks
:
pip_socks
是一个
pip
包装器,可以更好地支持 SOCKS 代理。可以按照以下步骤安装和使用它:
a. 安装
pip_socks
:
```bash
pip install pip_socks
```
b. 设置
ALL_PROXY
环境变量以使用
socks5
协议:
```bash
export ALL_PROXY=socks5://proxy.iiit.ac.in:8080
```
c. 现在可以像往常一样使用
pip
:
```bash
pip_socks install django
```
`pip_socks` 将自动使用 `ALL_PROXY` 环境变量中定义的 SOCKS 代理。
请尝试这些方法之一,看看是否可以解决的问题。 如果仍然遇到问题,请提供更多信息,例如的操作系统和 Python 版本,以便我提供更具体的帮助。
标签:python,pip,socks From: 40926018