web-dev-qa-db-ja.com

ImportError:vtkCommonPythonという名前のモジュールがありません

コンピューターにVTKを使用してPythonをインストールしようとしていますが、VTKをインポートしようとすると、エラーが発生します。

import vtk 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module>
 File "C:\vtk\Wrapping\Python\vtk\__init__.py", line 41, in <module>
   from vtkCommonPython import * 
ImportError: No module named vtkCommonPython 

私はすでに自分のパスをチェックしていて、binフォルダーにファイル「vtkCommonPython.pyd」があります。

誰かがこの問題で私を助けることができますか?

19
user1842222

非常によく似た問題が発生し、PYTHONPATH環境変数に/usr/local/lib/python2.7/site-packages/vtk/を追加して修正しました。

正確な修正は、Pythonのバージョンなどによって異なる場合があります(パスに影響します)。次のように、欠落しているモジュールの場所を特定し、環境変数へのパスを追加することで、それを分類できるはずです。

私の場合、次を使用してパスを見つけました。

find / -name vtkCommonCorePython 2>/dev/null

次に、関連するパスを〜/ .bash_rcまたは同等のものに追加しました。

export PYTHONPATH="$PYTHONPATH:usr/local/lib/python2.7/site-packages/vtk/"

パス変数を上書きするのではなく、追加するように注意してください。おそらく、「/ usr/local/lib /」のような他のものがすでにそこにある必要があります。フォーマット(およびこれを配置するファイル!)は、シェルごとに異なります。

ターミナルを再起動して変更を取得し、変数が正しく設定されていることを確認します。

echo $PYTHONPATH

そして、どのパスにも間違いがないように十分注意してください!

3
GnomeDePlume

MacOSXでも同じ問題が発生していました。そこで、Pythonの代わりにvtk/bin/vtkpythonを使い始めました。これにより、エラーなしでvtkをインポートできました。次に、vtkCommonCorePythonを明示的にインポートし、場所を出力しました。

$ /home/vtk/bin/vtkpython
vtk version 6.2.0
Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtkCommonCorePython 
>>> print vtkCommonCorePython
<module 'vtkCommonCorePython' from '/home/vtk/lib/vtkCommonCorePython.so'>

次に、ターミナルで、libフォルダーをpython仮想環境パスに追加しました:

$ add2virtualenv /home/vtk/lib

これがWindowsにどのように変換されるかはわかりませんが、これがお役に立てば幸いです。

3
David E.

vtkが_$PYTHONPATH_内にあることを確認する以外に、VTK (6.x)の最新バージョンにはvtkCommonPythonモジュールがないことにも注意してください。代わりに、いくつかのサブコンポーネントに分割されています。 (例:vtkCommonCorePythonvtkCommonMathPythonvtkCommonSystemPython)、ただしこれは、使用したい外部パッケージではほとんど問題になります(例:デフォルトではVMTK)に対してコンパイルされ、 _VTK 5.10_ に依存します。

_$PYTHONPATH_を確認して展開するには、次の電話をかけるだけです。

_$ echo $PYTHONPATH
/usr/local/lib/python2.7/site-packages
$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/vtk
$ echo $PYTHONPATH
/usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/vtk
_

インストールしたvtkバージョンを確認するには:

_$ python
Python 2.7.10
>>> import vtk
>>> print str(vtk.VTK_MAJOR_VERSION) + '.' + str(vtk.VTK_MINOR_VERSION)
6.2
_
2
Chris

私も同じ問題を抱えていました(kubuntu14.04)。

/usr/lib/python2.7/dist-packages/vtkでコンパイルされたvtkpythonオブジェクトへのリンクが壊れていることに気づきました。

そこで、/usr/lib/x86_64-linux-gnuに行き、for i in *-6.0.so.6.0; do Sudo ln -s $i ${i/-6.0.so.6.0/-6.0.so}; doneを実行しました。

問題は解決したようです。

お役に立てば幸いです。

2
Martin

instructions で提案されたパスを使用したと仮定して、bashrcに次の行を追加します。

export PYTHONPATH=$HOME/projects/VTK-build/lib:$HOME/projects/VTK-build/Wrapping/Python:$PYTHONPATH

Sudoの使用時に問題が発生した場合(例:.

Sudo yum install mayavi

おそらく解決する必要があります この問題 。次の行をbashrcに追加します。

alias Sudo=’Sudo env PYTHONPATH=$PYTHONPATH’

完全な説明

1
Lila

sys.pathのディレクトリにある必要があります。私がしたことは、「モジュール」と呼ばれるフォルダー(実際にはどこでもかまいません)を作成したことです。このフォルダーには、ダウンロード/作成したすべてのモジュールがあります。 C:\Users\USER\Modulesに入れたとしましょう。このモジュールをそこに置くこともできます。

フォルダへのパスをコピーする必要があります。

次に、コントロールパネルに移動します。 [システム]をクリックし、左側のパネルに[システムの詳細設定]というオプションがあります。それをクリックします。ポップアップ表示されるウィンドウの下部から、[環境変数]をクリックします。 PYTHONPATHという変数が作成されているかどうかを確認してください。ほとんどの場合、あなたはしません。したがって、「NEW」を押して変数を作成します(2番目のセクション)。 PYTHONPATHという名前を付け、変数値としてファイルパスを入力します。 (私の例では、ファイルパスはC:\Users\USER\Modulesです)。お役に立てれば :)

コントロールパネルのシステム(プロパティ)の場所に到達したら、そこに到達する方法のスクリーンショットを挿入しました。 Python Path

1
Rushy Panchal

VtkCommonPython.pydのフォルダーもシステムパスに追加する必要があります(dllの場合など)。参照 http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup

0
lib

Windowsでは、

次のパスを追加することになっています
。pydファイルと.dllファイルを含むフォルダーをPYTHONPATH環境変数に追加します。

例:

D:\ VTK\VTK-bin\bin\Release\Lib\site-packages\vtkmodules
D:\ VTK\VTK-bin\bin\Release

さらに、Qtのbinフォルダーへのパスをシステム変数PATH C:\ Qt\5.10.0\msvc2017_64\binに追加します

0
Sarangan