【发布时间】:2017-10-05 11:19:26
【问题描述】:
我正在尝试在公司网络中将 Spyder 用于 Python/Tensorflow。不幸的是,我无法禁用防火墙,这会带来一些代理问题。
使用这个非常基本的代码
import tensorflow as tf
learn = tf.contrib.learn
tf.logging.set_verbosity(tf.logging.ERROR)
mnist = learn.datasets.load_dataset('mnist')
引发以下错误
文件“C:\Users\xxx\AppData\Local\Continuum\Anaconda3\lib\urllib\request.py”,第 1320 行,在 do_open 中引发 URLError(err)
URLError:
设置环境变量 http_proxy 和 https_proxy 确实会导致同样的问题。
有没有办法直接在 Spyder 中编辑代理设置?如果没有:如何在 python 中调整代理?
import urllib2
proxy_user='xxx'
proxy_password='xxx'
proxy_ip='proxy.company:8080'
proxy_url = 'http://' + proxy_user + ':' + proxy_password + '@' + proxy_ip
proxy_support = urllib2.ProxyHandler({"http":proxy_url})
opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)
urllib2.install_opener(opener)
引发以下错误
ModuleNotFoundError: 没有名为“urllib2”的模块
提前致谢, 强尼
【问题讨论】:
-
如果您使用的是 Python 3,我认为您需要将
urllib2更改为urllib3。 -
感谢您的快速回复,卡洛斯!不幸的是,类似于 urllib2,程序输出 ModuleNotFoundError: No module named 'urllib3'
-
找到了一个可行的解决方案:不仅为用户的环境变量设置http_proxy,而且为系统加上以管理员身份执行Spyder都是必需的,但它对我有用!谢谢!