Spyder代理设置

4

我正在尝试在公司的网络环境下使用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: < urlopen 错误 [Errno 11004] getaddrinfo失败 >

设置环境变量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”的模块

提前致谢, Johnny


如果您正在使用Python 3,我认为您需要将“urllib2”更改为“urllib3”。 - Carlos Cordoba
谢谢您的及时回复,Carlos! 不幸的是,类似于urllib2,程序输出了ModuleNotFoundError: No module named 'urllib3'。 - Johnny R.
1
找到了一个可行的解决方案:不仅要为用户的环境变量设置http_proxy,还要为系统设置,并以管理员身份执行Spyder。这两个步骤都是必需的,但对我来说已经起作用了!谢谢! - Johnny R.
1个回答

1

打开

  • 以管理员身份运行Anaconda提示符
  • 使用命令在conda中添加代理设置:conda config --set proxy_servers.https "proxy.company.com:8080"

您的代理设置现已准备好在Conda环境中使用。此外,您可以从Conda提示符运行您的Python代码。


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