Ocorreu um problema ao importar um dos módulos do Python necessários para executar o yum

2

Eu instalei as ligações Python do VTK 5.1 corretamente. Em Python, import vtk funcionou, mas import itk ainda não funcionou. Então eu queria instalar as ligações Python do ITK 4.2.

Eu precisava instalar o SWIG 2.0.7 e, a partir da mensagem de erro que surgiu durante ./configure no diretório de origem do SWIG, entendi que precisava instalar o pcre . Então eu escolhi a versão 8.31 do pcre. Aqui está um resumo do processo:

(VTK + Python) ---> This works.

(ITK + Python) ---> SWIG needed ---> pcre needed

Agora que o pcre está instalado, meu problema é que o yum parou de funcionar:

[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

Gostaria de saber se devo adicionar variáveis ao PATH.

Talvez esteja relacionado a um problema que tive com o SWIG: funcionou como usuário, mas não como 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

Eu tive que adicionar uma linha ao .bashrc do usuário root para fazer o swig funcionar tanto com o usuário quanto com a raiz:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/

Pode haver algo com o caminho do Python.

No Python, notei que eu poderia import vtk como usuário, mas não como 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
>>> 

mas:

[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

Parece que o PCRE está instalado corretamente:

[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

e

[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
    
por Wok 23.07.2012 / 16:32

1 resposta

0

O problema estava relacionado ao PYTHONPATH. Poderia ser resolvido removendo uma linha de .bashrc de quatro que eu tinha copiado de um tutorial :

export PYTHONPATH=$PYTHONPATH:~/Softwares/VTK_5.1/build/Wrapping/Python/vtk/

Eu mantive as três seguintes linhas:

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/

Agora, posso usar import vtk como usuário e ainda usar yum como root. Eu não posso import vtk como root, mas eu nunca quis de qualquer maneira.

Para resolver o problema, primeiro removi o arquivo .bashrc e notei que ele corrigiu yum . Em seguida, continuei adicionando as linhas acima ao PYTHONPATH para obter acesso a import vtk . Finalmente, notei que ipython não funcionaria quando import vtk funcionasse e reciprocamente.

    
por 09.08.2012 / 12:29

Tags