Python 在pip安装中使用命令行代理时,如果密码有“@”怎么办?

Python 在pip安装中使用命令行代理时,如果密码有“@”怎么办?,python,proxy,pip,Python,Proxy,Pip,尝试使用pip安装一个包,其中网络有防火墙,我们需要在该命令上设置一个代理 这是我们遵循的语法: pip安装-代理=域\用户名:passwd@proxy.address:端口包名称 但它失败,错误消息如下: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.',

尝试使用pip安装一个包,其中网络有防火墙,我们需要在该命令上设置一个代理

这是我们遵循的语法: pip安装-代理=域\用户名:passwd@proxy.address:端口包名称

但它失败,错误消息如下:

 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired'))'

棘手的部分是用户的密码在中间有一个“@”,我想知道它是否弄乱了语法,因为系统理解代理地址在第一个“@”之后是正确的。 我们试图用:@和%40,甚至\%40从密码中转义@。他们都没有工作

还尝试设置一个变量来传递带有凭据的代理URL,以克服命令行字符读取的问题,但效果不佳

有什么建议吗?

[已解决]
我必须要求用户更改密码,然后才能解决问题。

如果您在URL中省略username:password@部分,在运行命令时是否会提示un和pw?声明%40应该是1的可能副本。它不会在命令行上提示pw和un,只需声明连接错误消息2即可。%事实上,40应该是有效的。我想知道是不是pwd引起了麻烦。但不确定如何从pip排除代理连接故障。老实说,这不是解决方案。Pip需要为输入用户名和密码提供更好的方法。