コンピューターに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」があります。
誰かがこの問題で私を助けることができますか?
非常によく似た問題が発生し、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
そして、どのパスにも間違いがないように十分注意してください!
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にどのように変換されるかはわかりませんが、これがお役に立てば幸いです。
vtk
が_$PYTHONPATH
_内にあることを確認する以外に、VTK (6.x)
の最新バージョンにはvtkCommonPython
モジュールがないことにも注意してください。代わりに、いくつかのサブコンポーネントに分割されています。 (例:vtkCommonCorePython
、vtkCommonMathPython
、vtkCommonSystemPython
)、ただしこれは、使用したい外部パッケージではほとんど問題になります(例:デフォルトでは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
_
私も同じ問題を抱えていました(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
を実行しました。
問題は解決したようです。
お役に立てば幸いです。
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’
sys.path
のディレクトリにある必要があります。私がしたことは、「モジュール」と呼ばれるフォルダー(実際にはどこでもかまいません)を作成したことです。このフォルダーには、ダウンロード/作成したすべてのモジュールがあります。 C:\Users\USER\Modules
に入れたとしましょう。このモジュールをそこに置くこともできます。
フォルダへのパスをコピーする必要があります。
次に、コントロールパネルに移動します。 [システム]をクリックし、左側のパネルに[システムの詳細設定]というオプションがあります。それをクリックします。ポップアップ表示されるウィンドウの下部から、[環境変数]をクリックします。 PYTHONPATH
という変数が作成されているかどうかを確認してください。ほとんどの場合、あなたはしません。したがって、「NEW」を押して変数を作成します(2番目のセクション)。 PYTHONPATH
という名前を付け、変数値としてファイルパスを入力します。 (私の例では、ファイルパスはC:\Users\USER\Modules
です)。お役に立てれば :)
コントロールパネルのシステム(プロパティ)の場所に到達したら、そこに到達する方法のスクリーンショットを挿入しました。
VtkCommonPython.pydのフォルダーもシステムパスに追加する必要があります(dllの場合など)。参照 http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup
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に追加します