2016-07-06 6 views
0

深い神経ネットワークでudacityコースをやっていて、notMNISTに関連する課題をやろうとしています。私はテンソルフローと6をvirtualenvにインストールして、Pycharmにこのvirtualenvを私のプロジェクトインタプリタとして認識させました。Pycharm Cantが6個のcPickleを見つけた

Tensorflowコマンドは現在実行することができますが、このインポートセクションに:

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

両方のcPickleとURLが取得見つけることができません。

私はvirtualenvの内側に私の6を更新しましたが、最新であるように思わ:

(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$ 

にはどうすればURLを認識するpycharmを取得してはcPickleライブラリ得ることができますか?

ありがとうございます。

+0

six.movesから 'python -c"を実行していますか?コマンドラインから(virtualenv内で) "cPickle"をインポートしますか? – keveman

+0

私はそれから出力を得ません。私はそれが動作することを意味していると思いますか? – JoaoAntunes

+0

はい。これはコマンドラインから動作するので、これは実際にTensorflow固有の問題ではありません。 pycharmコミュニティの誰かがこれに答える必要があります。 – keveman

答えて

0

ダイナミックディスパッチが行われているときにPycharmが名前を解決するのに問題があり、そのようなエラーに関するツールヒントの数も多くなります。 6つは関数を正しいpy2とpy3のバージョンにマップするが、動的ディスパッチを使っている。

問題が理論的なものかpycharmの実装の問題かはわかりませんが、少なくとも解決するのは難しい問題です。基本的に、呼び出される関数は実際に呼び出されるまではわかりません。

このような場合にpycharmヘルプを使用するために使用できるアプローチの1つは、最初から6個をインポートせず、Pythonが提供するバージョンをネイティブに使用することです。完了したら、「標準」バージョンから6で提供されるバージョンにインポートを切り替えるだけです。

あなたはそれに慣れています。

関連する問題