我正在进行深度神经网络的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 retrieve和cPickle库?
谢谢。
答案 0 :(得分:0)
当动态调度正在进行时,Pycharm在解析名称时遇到问题,并且他们对此类错误的工具提示也表示同样多。虽然六个人设法将函数映射到正确的py2和py3版本,但它使用动态调度来实现。
我不确定问题是理论上的问题还是仅仅是pycharm实现的问题,但至少它是一个难以解决的问题。从本质上讲,调用哪个函数在实际被调用之前是未知的。
在这些情况下,您可以使用仍然具有pycharm帮助的一种方法是不从最初的六个导入,并使用本机提供的python版本。一旦完成,您所要做的就是从“标准”中切换导入。版本由六个提供。
你已经习惯了。