2016-07-06 28 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。

你已經習慣了。