Pip: Pip - 不会将代理设置传递给 git/hg 等。

创建于 2011-03-15  ·  17评论  ·  资料来源: pypa/pip

嘿嘿

我在代理后面使用 pip,这真的是一场噩梦 atm...lol。 Wget 似乎可以可靠地下载软件包,但是使用 pip,我必须将超时设置为 30 秒,但它仍然很受欢迎。 我希望它的代理支持更好。

无论如何,pip 似乎也没有将代理设置传递给像 git 这样的命令。 即使设置了环境变量,并将“--proxy”设置传递给 pip、git/hg/etc。 似乎完全忽略了这一点,并尝试直接下载而不是通过代理。

干杯,
胜利者


  • 比特桶: https :
  • 最初报道者:Victor Hooi
  • 最初创建于:2010-11-12 14:30:33
proxy vcs auto-locked needs discussion enhancement

所有17条评论

嘿嘿

我在代理后面使用 pip,这真的是一场噩梦 atm...lol。 获取
似乎可以可靠地下载软件包,但是使用 pip,我必须设置
超时到 30 秒,它仍然是一个命中和未命中。 我希望它是代理
支持更好。

无论如何,pip 似乎也没有将代理设置传递给像 git 这样的命令。
即使设置了环境变量,也传递了“--proxy”
设置为 pip、git/hg/等。 似乎完全忽略了这一点,并试图
直接下载而不是通过代理。

干杯,胜利者


Original Comment By: Victor Hooi

如果找到任何解决方法或解决方案,我们需要记住在
堆栈溢出1

1 - http://stackoverflow.com/questions/5085545/pip-and-svn-
代理下


Original Comment By: Hugo Lopes Tavares

如果找到任何解决方法或解决方案,我们需要记住在
堆栈溢出1

1 - http://stackoverflow.com/questions/5085545/pip-and-svn-
代理下


Original Comment By: Hugo Lopes Tavares

今天刚碰到这个。 真的想知道 pip install 是否与 sudo 一起运行是否重要,但似乎有点疏忽,因为它没有使用 http_proxy 的实例环境变量调用 git/svn 二进制文件,如果提供或设置了一个当 pip 命令运行时。

进一步说明,问题的一部分似乎是克隆假设它可以使用 git (ssh) 协议来执行克隆。 如果它使用 http 或 https 而不是 git:// 它可能会起作用,至少部分起作用。 我正在使用 git config 选项解决这个问题,该选项将任何对git://github.com 的请求替换为https://github.com。
我在这里找到了这个解决方法, http://stackoverflow.com/a/32744849/3794873 ,我发现它比用 https:// 全局替换 git:// 更有用,因为我们有一个我想要的内部 github通过 SSH 进行身份验证。
http://jgoodall.me/posts/2013/05/29/git-use-https/

@johnthagen我正在查看一些旧问题,想知道您是否对此有任何经验(例如,对于上面提到的 svn)。

@cjerdonek不幸的是,我没有在代理设置中使用pip /Subversion,所以我在这里没有任何经验。

下一步是让某人尝试重现此问题并在此处提供清晰的重现步骤。

我不确定这只是一个问题。 将代理设置传递给 git、svn 等的步骤可能因每个 vcs 命令而异。 例如,这里是有关为 git 执行此操作的信息: https :

这是 svn: http :

这是 hg: https: //www.mercurial-scm.org/doc/hgrc.5.html#http -proxy

这是集市: http :

是的是的。 如果 pip 获得代理,我们应该这样做。

我很想看到这个复制的部分原因是想知道设置“http_proxy”是否是今天看到这个的人的一种解决方法(因为那些 vcs 工具支持那个 IIUC)。

我在工作中使用代理,并且 env 变量对我来说很好(至少在 git 中)。

@pfmoore您是否可以尝试取消设置环境变量并通过 --proxy 传递代理?

不是几周,因为我现在正在度假,抱歉。

FWIW,应该很容易看到哪些环境变量被传递给 VCS 命令,因为它们都通过 VersionControl 基类(从我的手机 o/w 输入将链接到它)。

不是几周,因为我现在正在度假,抱歉。

哎呀! 我的错; 我忘了——享受你的假期! :)

是否有理由需要在 pip 中实现? 我们也不传递 CA 证书、自动接受 SSH 主机密钥或处理 VCS 身份验证。 似乎这类集成的维护负担会很高,而回报却很低,因为无论如何都可能需要完成这种配置。 快速搜索显示 git 有大量灵活的代理配置选项,而 hg 有一个配置文件。 全局配置这些的用户将使它们在任何调用工具上工作,而不仅仅是 pip。

@chrahunt我认为这是一个合理的论点; 按照 Chris 上面列出的推理结束此问题。 :)

此页面是否有帮助?
0 / 5 - 0 等级