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에서 겪고 있는 문제와 관련이 있을 수 있습니다. 이는 사용자로 작동하지만 루트로는 작동하지 않습니다.
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가 사용자와 루트 모두에서 작동할 수 있도록 하려면 루트 사용자의 .bashrc에 한 줄을 추가해야 했습니다.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
Python 경로에 뭔가가 있을 수 있습니다.
import vtk
Python에서는 사용자 역할을 할 수 있지만 루트 역할은 할 수 없다는 것을 알았습니다 .
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개 행 중 하나의 행을 제거 하면 문제가 해결될 수 있습니다.튜토리얼에서 복사함:
export PYTHONPATH=$PYTHONPATH:~/Softwares/VTK_5.1/build/Wrapping/Python/vtk/
나는 다음 세 줄을 유지했습니다.
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
루트로 있을 수 있습니다. 나는 루트가 될 수 없지만 import vtk
결코 루트가 되고 싶지 않습니다.
이 문제를 해결하기 위해 먼저 .bashrc
파일을 삭제하고 수정된 것을 확인했습니다 yum
. 그런 다음 위 의 줄을 추가하여 PYTHONPATH
.import vtk
ipython
import vtk