如何在Windows 10上为GitBash环境配置代理

3

我在Windows 10上安装了Python 3.7.3,但是由于公司的代理限制,在Gitbash(Git SCM)无法使用PIP安装Python包。

我尝试通过以下方式创建代理环境变量,但没有成功:

  • export http_proxy='proxy.com:8080'
  • export https_proxy='proxy.com:8080'

我找到了一个临时解决方案:将以下别名插入.bashrc文件中:

  • alias python='winpty python.exe'
  • alias pip='pip --proxy=proxy.com:8080'

以上方法可以运行,但我正在寻找更好的方法,以免必须为每个命令设置别名。我考虑过像环境变量之类的东西,但还没有找到如何在Windows的git bash环境中设置它的方法。

你有什么想法吗?

2个回答

1

1
首先,你不需要使用Git bash来pip install Python模块。只需要在常规CMD中使用Git路径(以使用类似Linux的命令,加上curl,即使它在最新的Windows 10中也是可用的),并使用简化的PATH
set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
set GH=C:\path\to\git
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH%
set PH=C:\path\to\Python37
set PATH=%PH%;%PH%\Scripts

其次,在企业环境中,您可以使用pip install,前提是:

  • 通过px访问代理服务器,自动通过NTLM代理进行身份验证
  • 使用并信任pip模块源的镜像替代方案。

关于genotrance/px,只需使用px --proxy=my.company.prpxy:<port> --save --config=/path/to/your/px.ini运行服务即可。

无需输入凭据(Windows登录/密码):代理使用当前的登录会话。

设置您的环境变量以引用该代理:

set HTTP_PROXY=http://localhost:3128
set HTTPS_PROXY=http://localhost:3128

然后,这将起作用:

然后,这将起作用:

λ pip install -i http://pypi.mirror.frontiernet.net/simple --trusted-host pypi.mirror.frontiernet.net "ansible-tower-cli==3.2.1" --force-reinstall
Looking in indexes: http://pypi.mirror.frontiernet.net/simple
Collecting ansible-tower-cli==3.2.1
  Downloading http://pypi.mirror.frontiernet.net/packages/98/39/566f2dc628917e28d6600607cd0a533b9ed02395297363b2db827e59e488/ansible-tower-cli-3.2.1.tar.gz (153kB)
    100% |████████████████████████████████| 163kB 107kB/s

使用任何未被公司屏蔽的pypi镜像=

为避免出现过长的 pip install -i xyz --trusted-host xyz 命令,我们可以在 Windows 系统中使用一个由 pip 使用的环境变量来告诉 pip,本地主机的 3128 端口是 Web 代理。 - user3313834
@user3313834 是的:我已经相应地编辑了我的答案。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接