Unable to determine SOCKS version from socks://127.0.0.1:1080/

Unable to determine SOCKS version from socks://127.0.0.1:1080/

File “/home/dlnu/.virtualenvs/python2.7/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/contrib/socks.py”, line 154, in init
“Unable to determine SOCKS version from %s” % proxy_url
ValueError: Unable to determine SOCKS version from socks://127.0.0.1:1080/

解决方案一(分为两种场景):
——————–场景一,google能上,pip不能用————————————————-
连接google时

sslocal -c /etc/shadowsocks.json -d start
chmod 777 /var/run/shadowsocks.pid
开启network-manager中的手动代理(也就是等效于/etc/environment中增加socks_proxy=”socks://127.0.0.1:1080/“),
再重启终端,此时pip失效
会报错
ValueError: Unable to determine SOCKS version from socks://127.0.0.1:1080/

——————–场景二,pip能用,google不能上————————————————-
如果要修复pip,那么可以让代理先失效,办法是:
network-manager中的代理改为“无”(也就是等效于/etc/environment中删除socks_proxy=”socks://127.0.0.1:1080/“),然后注销重新登录系统即可

所以解决方案一就是来回在两种场景中切换,十分麻烦。

解决方案二:
在shadowsocks生效的情况下
删除~/.pip下面的pip.conf文件即可
因为这个时候已经是在访问国外的网站了,所以删除pip.conf,pip就会使用默认的pypi.python.org/simple了