2015-11-19 23 views
13

私はPyCharm 5を使ってUbuntuでPython 2.7(Anaconda)スクリプトを実行しています。私のスクリプトはimport tensorflowのモジュールをインポートしますが、これによりエラーImportError: libcudart.so.7.0: cannot open shared object file: No such file or directoryが発生します。したがって、このモジュールではライブラリlibcudart.so.7.0が必要ですが、見つからないようです。PyCharmがライブラリを見つけることができません

今、このライブラリが私のマシンの/usr/local/cuda-7.0/targets/x86_64-linux/libにあることがわかりました。だから、PyCharmでは、私はSettings->Project Interpreters->Interpreter Pathsに行きました。これには、/home/karnivaurus/Libraries/Anaconda/python2.7のようなパスのリストがありました。私はこのリストに必要なライブラリを含む上記のパスを追加しました。

ただし、これで問題は解決されませんでした。 libcudart.so.7.0が見つかりませんでした。しかし、シェルからスクリプトを実行すると(python myfile.py)、正常に動作します。

PyCharmにこのライブラリの場所を教えてもらえますか?


私は私のスクリプトでprint sys.pathを持っている場合、彼らは同じである必要があり、それはプリントアウトパスが... Settings->Project Interpreters->Interpreter Pathsのものと全く異なっていることに気づきましたか?

+1

PyCharmはあなたの端末と同じ 'python'を使ってスクリプトを実行していますか?それが最初の見方です。実行コンフィギュレーションが正しいインタプリタを使用していることを確認してください。実行]> [構成の編集]を選択します。プロジェクトを選択し、Project Interpreterの下で、anaconda pythonを選択していることを確認します。 –

+0

はい - 私はPyCharmプロジェクトのためにAnaconda Pythonを選択しました。私の端末にはインタプリタもあります... – Karnivaurus

+0

私はそれを知らないのです。 http://stackoverflow.com/questions/28390961/using-anaconda-within-pycharmとhttp://stackoverflow.com/questions/33646541/tensorflow-and-anaconda-on-ubuntuは、さらにトラブルシューティングに役立つ可能性があります。 –

答えて

14

あなたのcudaライブラリへのパスは私にとっては奇妙に思えます。私はそれが/usr/local/cuda-7.0/lib64または/usr/local/cuda-7.0/libと期待します。

手順はすべてcuda installationでしたか?

コマンドラインにenvと入力すると、LD_LIBRARY_PATHにcudaへのパスが表示されますか?以下のコメントから


更新:

問題がPyCharmがデスクトップから起動されたことで、適切な環境変数を取得していませんでした。ソリューションは、どちらかにある:

  • 、環境を設定して起動し、デスクトップ上でそのスクリプトへのリンクを作成するスクリプトを作成
  • または上の環境変数を設定
  • 、コマンドラインから呼び出しますデスクトップアイテム
+0

はい、公式のCUDAインストール手順に従っています。/usr/local/cuda-7.0/lib64のディレクトリは実際には '/ usr/local/cuda-7.0/targets/x86_64-linux/lib'のシンボリックリンクです。なぜそのリンクが作られたのか分かりませんが、手動ではしませんでした。 'env'を入力すると、' LD_LIBRARY_PATH =/home/karnivaurus/Libraries/CUDNN-7.0/lib64:/usr/local/cuda-7.0/targets/x86_64-linux/lib:/usr/local/cuda-7.0/になります。 lib64'です。したがって、必要なディレクトリはそこにあります(ターミナルから実行しているときに私のスクリプトが動作する理由)が、PyCharmはこの環境変数を使用していないようです。 – Karnivaurus

+2

ここにいただけで、デスクトップのアイコンからpycharmを実行していますか?すべての環境変数が正しく設定されているシェルから呼び出そうとしましたか? – Laizer

+0

はい、アイコンからPyCharmを実行していました...シェルから実行しようとすると、スクリプトが機能します!しかし、私はそれをする必要はありません...! PyCharmがこれらの同じ環境変数をロードする方法がなければなりません。 – Karnivaurus

1

プロジェクトの設定で正しいPythonインタプリタを選択しましたか? hereを参照してください。

私は同様の問題があり、通訳者を変更すると新しいアイコンを作成することなく解決しました。

19

最近私はリモートデバッガを使用してこの問題に直面しましたが、それはまだ同じ解決策だと思います。 Run> Edit ConfigurationsのRun/Debug ConfigurationオプションのEnvironment Variablesセクションに以下を追加しました。ダイアログ:LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

+2

ここで最も簡単な解決策です。ありがとうございました – Conchylicultor

+0

このダイアログ内で定義済みの環境変数を呼び出すことができませんでした。これらの環境変数を定義するには、完全なパスを使用する必要がありました。 –

+0

TensorFlowをAnaconda環境にインストールし、PyCharmをIDEとして使用するときに、このソリューションが私にとって最適であることがわかりました。ありがとうございました。 –

1

編集しpycharm.desktop、EXECで環境変数を指定する以下のような:

[Desktop Entry] 
Version=1.0 
Type=Application 
Name=Pycharm 
Exec=env LD_LIBRARY_PATH=:/usr/local/cuda/lib64:/usr/local/cuda/lib64 /home/cwh/software/pycharm-2016.1.4/bin/pycharm.sh 
Icon=/home/cwh/software/pycharm-2016.1.4/bin/pycharm.png 
Name[zh_CN]=Pycharm 

のでpycharmがわかりますcuda

+0

ただし、この方法はリモートデバッガには適用されません。 –

5

これらの答えの一部が正しい、と仕事ができる一方で、I OPが具体的に求めていることを見ていない、そしてそれは、Pythonコンソールの環境を設定する場所です。これはでpycharm内で行うことができます。

ファイル]> [設定]> [ビルドし、実行、配備>コンソール> Pythonコンソールがオプションで

、あなたは環境変数を定義する場所を見つけることができます。そこにLD_LIBRARY_PATHを設定します。

+0

これは受け入れられる回答である必要があります。これは、私が探していた解決策に似ているようです。私が直面していた問題は、PyCharms Configuration Settingダイアログから定義済みの環境変数$ CUDA_HOME/libを呼び出そうとしていたようです。私が完全な/ usr/local/cuda/libに変更すると、すべてが動作するようになりました。 –

+0

合意しました。これは実際の答えのようです。また、CUDA_HOMEを/ usr/local/cudaに設定することも、pycharmの環境セクションでは良いアイデアです。 –

関連する問題