2016-07-06 139 views
0

我正在做深层神经网络的udacity课程,我正在尝试做与notMNIST相关的任务。我在virtualenv中安装了tensorflow和6个,然后让Pycharm将这个virtualenv识别为我的项目解释器。Pycharm无法找到六个cPickle

Tensorflow命令现在可以运行,但在本节进口:

from six.moves.urllib.request import urlretrieve 
from six.moves import cPickle as pickle 

两个cPickle时和网址检索无法找到。

我更新了我六的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识别网址检索和cPickle的图书馆?

谢谢。

+0

从six.moves运行'python -c“从命令行(在virtualenv内)工作中导入cPickle”'? – keveman

+0

我没有得到它的输出。我假设这意味着它的作品? – JoaoAntunes

+0

是的。由于它从命令行工作,这不是真正的Tensorflow特定问题。来自pycharm社区的人必须回答这个问题。 – keveman

回答

0

Pycharm在动态调度正在进行时解析名称时遇到了问题,并且他们对这类错误的工具提示也是如此。虽然六个设法将函数映射到正确的py2和py3版本,但它使用动态分派。

我不确定这个问题是理论上还是pycharm实现的问题,但至少这是一个难以解决的问题。实质上,被调用的函数在被调用之前是未知的。

你可以使用的一种方法在这些情况下仍然有pycharm帮助,最初不是从六个方面导入,而是使用本地提供的python版本。一旦你完成了,你所需要做的就是将进口从'标准'版本切换到6。

你已经习惯了。