VTK 5.1用のPythonバインディングを正しくインストールしました。 Pythonではimport vtk
動作しますが、import itk
まだ動作していません。それで、ITK 4.2用のPythonバインディングをインストールしたいと思います。
./configure
SWIG 2.0.7をインストールする必要があり、SWIGソースディレクトリに表示されるエラーメッセージを見てそれをインストールする必要があることがわかったので、pcre
pcre 8.31バージョンを選択しました。プロセスを要約すると、次のようになります。
(VTK + Python)--->これはうまくいきます。
(ITK + Python) ---> SWIGが必要 ---> PCREが必要
これでpcreがインストールされているので、私の問題はyumが動作を停止したことです。
[root@wok build]# yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
libvtkIOPythonD.so.5.10: cannot open shared object file: No such file or directory
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7 (r27:82500, Sep 16 2010, 18:02:00)
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
PATHに変数を追加する必要があるかどうか疑問に思います。
おそらく、これはSWIGで経験している問題に関連している可能性があります。これはユーザーとして機能しますが、rootでは機能しません。
wok ~ $ swig -swiglib
/usr/local/share/swig/2.0.7
[root@wok home]# swig -swiglib
swig: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
swigがユーザーとrootの両方で動作できるようにするには、rootユーザーの.bashrcに1行を追加する必要がありました。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
Pythonパスに何かがあるかもしれません。
import vtk
Pythonではユーザーの役割を果たすことができますが、rootの役割はできません。
wok ~ $ python
Python 2.7 (r27:82500, Sep 16 2010, 18:02:00)
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk
>>>
しかし:
[root@wok ~]# python
Python 2.7 (r27:82500, Sep 16 2010, 18:02:00)
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtk
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/user/wok/home/Softwares/VTK_5.1/build/Wrapping/Python/vtk/__init__.py", line 41, in <module>
from vtkCommonPython import *
ImportError: libvtkCommonPythonD.so.5.10: cannot open shared object file: No such file or directory
PCREが正しくインストールされているようです。
[root@wok build]# pcretest -C
PCRE version 8.31 2012-07-06
Compiled with
8-bit support only
No UTF-8 support
No Unicode properties support
No just-in-time compiler support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
そして
[root@wok build]# locate libpcre
/lib64/libpcre.so.0
/lib64/libpcre.so.0.0.1
/usr/lib64/libpcrecpp.so.0
/usr/lib64/libpcrecpp.so.0.0.0
/usr/lib64/libpcreposix.so.0
/usr/lib64/libpcreposix.so.0.0.0
ベストアンサー1
問題はPYTHONPATHに関連しています。.bashrc
私が持っている4行のうちの1つを削除すると、問題が解決する可能性があります。チュートリアルからコピー:
export PYTHONPATH=$PYTHONPATH:~/Softwares/VTK_5.1/build/Wrapping/Python/vtk/
私は次の3行を維持しました。
export PYTHONPATH=$PYTHONPATH:~/Softwares/VTK_5.1/build/Wrapping/Python/
export PYTHONPATH=$PYTHONPATH:~/Softwares/VTK_5.1/build/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/Softwares/VTK_5.1/build/bin/
これでユーザーに行くことができ、import vtk
まだyum
rootとしている可能性があります。私はルートになることはできませんが、import vtk
決してルートになりたくありません。
この問題を解決するために、まず.bashrc
ファイルを削除して修正されたことを確認しましたyum
。次に、上記の行を追加してPYTHONPATH
。import vtk
ipython
import vtk