使用带有 CNTLM 代理的 pip

2025-01-07 08:44:00
admin
原创
138
摘要:问题描述:我正在尝试在工作中使用代理后的 pip。这篇文章的一个答案建议使用CNTLM。我按照另一篇文章安装并配置了它,但运行时cntlm.exe -c cntlm.ini -I -M http://google.com出现错误Connection to proxy failed, bailing out。我...

问题描述:

我正在尝试在工作中使用代理后的 pip。

这篇文章的一个答案建议使用CNTLM。我按照另一篇文章安装并配置了它,但运行时cntlm.exe -c cntlm.ini -I -M http://google.com出现错误Connection to proxy failed, bailing out

我也尝试过pip install -–proxy=user:pass@localhost:3128(默认的 CNTLM 端口),但出现了问题Cannot fetch index base URL http://pypi.python.org/simple/。显然代理出了问题。

有谁知道如何更明确地检查 CNTLM 是否设置正确,或者是否有其他方法可以解决这个问题?我知道您也可以按照此处http_proxy所述设置环境变量,但我不确定要输入什么凭据。来自的凭据?cntlm.ini


解决方案 1:

在 Ubuntu 上,我无法使代理选项按宣传的那样工作 - 因此以下命令不起作用

sudo pip --proxy http://web-proxy.mydomain.com install somepackage

但是导出https_proxy环境变量(注意它https_proxy不是http_proxy)就可以解决问题:

export https_proxy=http://web-proxy.mydomain.com

然后:

sudo -E pip install somepackage

解决方案 2:

在 Windows 下不要忘记设置

SET HTTPS_PROXY=<proxyHost>:<proxyPort>

我需要设置什么

pip install pep8

解决方案 3:

要为 Windows 设置 CNTLM,请按照本文操作。对于 Ubuntu,请阅读我的博客文章。

编辑:

基本上,要在任何平台上使用 CNTLM,您需要设置您的用户名和散列密码,然后将其用作http://127.0.0.1:3128父代理的代理。

  1. 编辑配置并添加重要信息,如域、用户名、密码和父代理。

  2. 生成散列密码。

视窗 cntlm –c cntlm.ini –H

Ubuntu/Linux cntlm -v -H -c /etc/cntlm.conf

  1. 从配置中删除纯文本密码并用生成的密码替换它们。

检查是否正常工作:

视窗 cntlm –M http://www.google.com

Ubuntu/Linux sudo cntlm -M http://www.google.com/

有关更详细的说明,请参阅上面的链接。

更新:

仅出于完整性考虑,我最近能够在 Windows 中配置和使用 CNTLM。由于我们的代理,我在 Kindle for PC 同步过程中遇到了问题,安装和配置 Windows 版 CNTLM 为我解决了该问题。有关更多详细信息,请参阅我的文章。

解决方案 4:

它对我来说不起作用。我不得不在工作中使用https

pip install --proxy=https://user@mydomain:port somepackage

为了更新,添加-U。

解决方案 5:

您可以通过将公司的根证书添加到 site-packages/pip 文件夹中的 cacert.pem 文件来继续通过 HTTPS 使用 pip。然后通过将以下行添加到 ~/pip/pip.conf(或 ~\pip\pip.ini(如果您使用的是 Windows))来配置 pip 以使用您的代理:

[global]
proxy = [user:passwd@]proxy.server:port

就是这样。无需使用第三方软件包或放弃 HTTPS(当然,您的网络管理员仍然可以看到您正在做什么)。

解决方案 6:

对于 Windows;在命令提示符中将您的代理设置为

set HTTP_PROXY=domain/username:password@myproxy:myproxyport

例子:
`set http_proxy=IND
amit.kewat:xl123456@192.168.180.150:8880`

解决方案 7:

这对我有用(在Windows上通过CMD):

pip install --proxy proxyserver:port requests

解决方案 8:

$ pip --proxy http://proxy-host:proxy-port install packagename

这是对我有用的

解决方案 9:

根据我们的安全政策,我可能不会将 https与 pypi 一起使用,SSL 检查会重写证书,这会破坏 pip 为 www.python.org 提供的内置安全性。中间人是网络管理员。

所以我需要使用普通的 http。为此,我需要覆盖系统代理以及默认的 pypi:

bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"

解决方案 10:

手机作为移动热点/USB 网络共享

如果我很难通过公司代理找到方法,我会通过手机连接到网络(如果有 wifi 则使用无线热点,如果没有则使用 USB 网络共享)并快速执行pip install

可能不适用于所有设置,但应该可以帮助大多数人摆脱困境。

解决方案 11:

打开 Windows 命令提示符。

设置代理环境变量。

set http_proxy=http://user:password@proxy_ip:port
set https_proxy=https://user:password@proxy_ip:port

在同一个 Windows 命令提示符中使用代理安装 Python 包。

pip install --proxy="user:password@proxy_ip:port" package_name

解决方案 12:

在 Windows 7 中:

pip install --proxy DOMAIN/user:password@proxyaddress:port package

IE:

pip install --proxy BR
eo:p4ssw0rd@myproxyrocks.com.br:8080 virtualenv

解决方案 13:

在 Ubuntu 14.04 LTS 中

   sudo pip --proxy http://PROXYDOM:PROXYPORT install package

干杯

解决方案 14:

我遇到了同样的问题:在工作中使用带有 auth 的公司代理后,我无法让 pip 和 Sublime Text 2 工作(好吧,它可以与我的代理设置的自定义设置一起使用)。对于 pip(我将在 git 上尝试),我通过安装 cntlm 代理解决了它。配置非常简单:

  1. 编辑cntlm.ini

  2. 编辑“用户名”、“域”、“密码”字段

  3. 添加“代理”行,其中包含您的代理设置:server:port

  4. 确保“NoProxy”行集成了“localhost”(默认情况下如此)

  5. 注意默认端口:3128

  6. 保存即可。

为了测试其是否有效,只需启动一个新的命令行工具,然后尝试:

pip install django --proxy=localhost:3128

这对我有用。希望这对你也有帮助。

解决方案 15:

在高级系统设置中设置环境变量。在命令提示符中,它的行为应如下所示:

C:\Windows\system32>echo %http_proxy%

http://用户名:密码@代理:端口

C:\Windows\system32>echo %https_proxy%

http://用户名:密码@代理:端口

稍后,只需简单
pip install whatEver就可以了。

解决方案 16:

我可以通过运行以下命令实现此目的:

pip install --proxy=http://user:pass@your.proxy.com:3128 package==version

我在公司代理中使用 Python 3.7.3。

解决方案 17:

如果您想通过代理升级 pip,可以使用(例如在 Windows 中):

python -m pip --proxy http://proxy_user:proxy_password@proxy_hostname:proxy_port insta
ll --upgrade pip

解决方案 18:

对于 Windows 用户:如果您想安装 Flask-MongoAlchemy,请使用以下代码

pip install Flask-MongoAlchemy --proxy="http://example.com:port"**

解决方案 19:

在具有身份验证的工作代理后面使用 pip,请注意,在某些操作系统中,在使用用户和密码指定代理 URL 时需要引号:

pip install <module> --proxy 'http://<proxy_user>:<proxy_password>@<proxy_ip>:<proxy_port>'

文档:https ://pip.pypa.io/en/stable/user_guide/#using-a-proxy-server

例子:

pip3 install -r requirements.txt --proxy 'http://user:password@192.168.0.1:1234'

例子:

pip install flask --proxy 'http://user:password@192.168.0.1:1234'

也可以在 pip.ini 中手动配置代理。例如:

[global]
proxy = http://user:password@192.168.0.1:1234 

文档:https://pip.pypa.io/en/stable/user_guide/#config-file

解决方案 20:

如果您通过代理连接到互联网,则运行某些命令可能会出现问题。

在命令提示符中设置代理配置的环境变量,如下所示:

set http_proxy=http://username:password@proxyserver:proxyport
set https_proxy=https://username:password@proxyserver:proxyport

解决方案 21:

在 CentOS 上(实际上我认为所有 Linux 发行版都类似)运行

env|grep http_proxy

env|grep https_proxy

检查这些命令的输出是什么(它们应该包含您的代理地址)。

如果输出为空或者值不正确,请修改它们,例如:

export http_proxy=http://10.1.1.1:8080
export https_proxy=http://10.1.1.1:8080

现在尝试使用 pip 获取并安装一些包:

pip --proxy http://10.1.1.1:8080 install robotframework

实际上我从未遇到过它不起作用的情况。对于某些系统,您需要成为 root(sudo 是不够的)。

解决方案 22:

警告,“pip search”命令存在一些非常糟糕的问题。无论以何种方式传递,搜索命令都不会使用代理设置。

我试图通过“搜索”命令来找出问题所在,并找到了这篇关于该错误的详细解释文章:https ://github.com/pypa/pip/issues/1104

我可以确认,在 Debian 8 上,使用 python 2.7.9 的 pip 1.5.6 仍然存在此错误。“pip install”命令运行良好。

解决方案 23:

我收到错误:

chris@green:~$ sudo http_proxy=http://localhost:3128 pip install django==1.8.8 
Downloading/unpacking django==1.8.8
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement django==1.8.8
No distributions at all found for django==1.8.8
Storing complete log in /home/chris/.pip/pip.log

(代理服务器的端口是ssh端口转发到localhost:3128)。

我必须设置 http 和 https 代理才能使其工作:

chris@green:~$ sudo http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 pip install django==1.8.8
Downloading/unpacking django==1.8.8
  Downloading Django-1.8.8.tar.gz (7.3Mb): 7.3Mb downloaded
  Running setup.py egg_info for package django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
  Running setup.py install for django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755
    changing mode of /usr/local/bin/django-admin.py to 755
    Installing django-admin script to /usr/local/bin
Successfully installed django
Cleaning up...

重定向http://pypi.python.org/simple/https://pypi.python.org/simplepip的错误并没有告诉你。

解决方案 24:

我也不是这方面的专家,但我通过all_proxy在 ~/.bashrc 文件中设置变量使其工作。要从~/.bashrc终端打开文件并编辑它,请运行以下命令:

gedit ~/.bashrc &

在文件末尾添加以下内容,

export all_proxy="http://x.y.z.w:port"

然后打开一个新终端或在同一终端中运行以下命令:

source ~/.bashrc

仅设置http_proxyhttps_proxy变量不足以进行简单的使用pip install somepackage。虽然以某种方式sudo -E pip install somepackage工作,但如果我在用户文件夹中使用 Anaconda 的本地安装,这会给我带来一些问题。

PS-我正在使用 Ubuntu 16.04。

解决方案 25:

本地操作怎么样?最有可能的是,你可以通过浏览器从 https 源下载

  1. 下载您的模块文件(mysql-connector-python-2.0.3.zip /gz... 等)。

  2. 解压它并转到 setup.py 所在的解压目录并调用:

C:mysql-connector-python-2.0.3>python.exe setup.py install

解决方案 26:

2022 适用于 Windows:

我知道有很多答案,并且几乎每个其他问题都涉及pipbehind a proxy提到了这个问题:

因此,我认为一方面这是代理问题,这将在下面的问题中得到解答。

pip install --proxy=https://<windowsuser>:<pw>@<proxy>:port package

之后,您必须处理SSL 证书。您必须添加受信任的来源。通常它们位于Error message。例如:ERROR: .... host='files.pythonhosted.org'以下是我的安装解决方案Django

pip install Django --proxy http://windowsuser:password@proxy:port --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org

解决方案 27:

这对我有用:

pip --proxy proxy url:port command package

解决方案 28:

设置以下环境变量:export PIP_PROXY=http://web-proxy.mydomain.com

解决方案 29:

如果您使用 Linux,请以 root 身份执行:

env https_proxy=http://$web_proxy_ip:$web_proxy_port pip install something

当您使用 env 时,它会为命令 pip install 的当前执行导出变量 https_proxy。

$web_proxy_ip 是代理的主机名或 IP $web_proxy_port 是端口

解决方案 30:

我使用“Fiddler”( https://www.telerik.com/download/fiddler )解决了 Windows 中 PIP 的问题。下载并安装后,请执行以下操作:

“规则”=> 点击“自动认证”

例如:pip install virtualenv -proxy 127.0.0.1:8888

只需打开提示并使用。

https://github.com/pypa/pip/issues/1182搜索“voltagex”(2015 年 5 月 22 日评论)

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用