yumを実行するために必要なPythonモジュールの1つを取得中に問題が発生しました。

yumを実行するために必要なPythonモジュールの1つを取得中に問題が発生しました。

VTK 5.1用のPythonバインディングを正しくインストールしました。 Pythonではimport vtk動作しますが、import itkまだ動作していません。それで、ITK 4.2用のPythonバインディングをインストールしたいと思います。

./configureSWIG 2.0.7をインストールする必要があり、SWIGソースディレクトリに表示されるエラーメッセージを見てそれをインストールする必要があることがわかったので、pcrepcre 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 vtkPythonではユーザーの役割を果たすことができますが、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まだyumrootとしている可能性があります。私はルートになることはできませんが、import vtk決してルートになりたくありません。

この問題を解決するために、まず.bashrcファイルを削除して修正されたことを確認しましたyum。次に、上記の行を追加してPYTHONPATHimport vtkipythonimport vtk

おすすめ記事