我正在上关于深度神经网络的udacity课程,我正在尝试做与notMNIST相关的作业。我在一个virtualenv中安装了tensorflow和six,然后让Pycharm将这个virtualenv识别为我的项目解释器。
Tensorflow命令现在可以运行,但在此导入部分中:
from six.moves.urllib.request import urlretrieve
from six.moves import cPickle as pickle找不到cPickle和url检索。
我在virtualenv中更新了我的六个,但它似乎是最新的:
(tensorflow) Joaos-MBP:~ jantunes$ pip install --upgrade six
Requirement already up-to-date: six in /Library/Python/2.7/site-packages/six-1.10.0-py2.7.egg
(tensorflow) Joaos-MBP:~ jantunes$ 如何让pycharm识别url检索和cPickle库?
谢谢。
发布于 2016-07-11 02:41:07
当使用动态分派时,Pycharm在解析名称时遇到了麻烦,他们在此类错误上的工具提示也说明了这一点。虽然six设法将函数映射到其正确的py2和py3版本,但它使用动态分派来做到这一点。
我不确定这个问题是理论上的问题,还是仅仅是pycharm实现的问题,但至少它是一个难以解决的问题。从本质上讲,在实际调用之前,不知道调用了什么函数。
在这些情况下,您可以使用的一种方法仍然具有pycharm帮助,即最初不从six导入,而是使用python提供的本地版本。一旦你完成了,你需要做的就是将导入从“标准”版本切换到six提供的版本。
你会习惯的。
https://stackoverflow.com/questions/38233014
复制相似问题