pip 安装错误:缺少 SOCKS 支持的依赖项

问题描述 投票:0回答:5

当我尝试使用

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/
python pip socks
5个回答
13
投票
  1. 根据您的情况取消设置袜子代理:
    
    unset all_proxy
    unset ALL_PROXY
    
  2. 安装缺少的依赖项:
    
    pip install pysocks
    
  3. 重置代理,
    source .bashrc
    pip install
    再次与socks代理一起使用。

4
投票

激活 venv 后我也无法安装 Django 和其他东西,但我最终做到了 [1]

type: sudo gedit .bashrc #or any text editor if gedit is not there 

      add this line at the last of your .bashrc file 
      export all_proxy="https://your_proxy:your_port/"

保存它应该起作用的更改。谢谢

参考。 [1] https://stackoverflow.com/a/39959360/4706745


0
投票

这对我有用

pip  install --user --proxy https://user:pass@proxyaddress:port django


0
投票

如果访问互联网必须通过 SOCKS 代理,则

pip install pysocks
的标准命令将永远无法工作,因为安装提供它的包时不会有所需的 SOCKS 支持,这实际上是先有鸡还是先有蛋的问题问题。

要解决此问题,请导航到 https://pypi.org/project/PySocks/#files,下载与所使用的 Python 版本相关的轮子,然后使用

pip install -U /path/to/wheel
手动安装它,例如

$ pip install -U pip
ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
$ pip install pysocks
ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
$ wget https://files.pythonhosted.org/.../PySocks-1.7.1-py3-none-any.whl
...
2024-04-06 00:00:00 (84.5 MB/s) - ‘PySocks-1.7.1-py3-none-any.whl’ saved [16725/16725]
$ pip install -U PySocks-1.7.1-py3-none-any.whl 
...
Successfully installed PySocks-1.7.1
$ pip install -U pip
...
Successfully installed pip-24.0

在上面的示例中,我使用了

wget
,它可能在您的平台上不可用,因此您可能需要使用替代命令,或者只需使用网络浏览器(最常见于 Windows)来下载文件,然后使用在下载文件的路径上使用相同的
pip install -U
命令。


-1
投票

使用

卸载已安装的软件包
pip uninstall packagename

并设置代理

http_proxy=http://username:password@host:port/
https_proxy=https://username:password@host:port/ 

并尝试使用

安装
pip install packagename
© www.soinside.com 2019 - 2024. All rights reserved.