python installation pip vtk mayavi

python - mlab mayavi



instalando Mayavi con pip-no hay módulo llamado vtk (6)

Quiero usar Mayavi.

Situación

  • Yo uso un MacBook Air, con OSX 10.7.3.
  • Yo uso Python 2.7.2
  • Tengo virtualenv instalado. Pero no lo he usado para esta instalación.

He instalado manualmente todas sus dependencias, incluyendo VTK .

Para VTK , seguí su guía de instalación e instalé la envoltura de python.

Ahora, si abro una nueva ventana de terminal y abro Python, puedo importar vtk sin ningún error.

Problema

Intento instalar Mayavi con el siguiente comando:

pip install mayavi

Pero se produce el siguiente error:

Downloading/unpacking mayavi Running setup.py egg_info for package mayavi build_src building extension "tvtk.array_ext" sources building data_files sources build_src: building npy-pkg config files no previously-included directories found matching ''artwork'' no previously-included directories found matching ''docs/pdf'' Requirement already satisfied (use --upgrade to upgrade): apptools in /Library/Python/2.7/site-packages (from mayavi) Requirement already satisfied (use --upgrade to upgrade): traits in /Library/Python/2.7/site-packages (from mayavi) Requirement already satisfied (use --upgrade to upgrade): traitsui in /Library/Python/2.7/site-packages (from mayavi) Requirement already satisfied (use --upgrade to upgrade): configobj in /Library/Python/2.7/site-packages (from apptools->mayavi) Requirement already satisfied (use --upgrade to upgrade): pyface in /Library/Python/2.7/site-packages (from traitsui->mayavi) Installing collected packages: mayavi Running setup.py install for mayavi Traceback (most recent call last): File "<string>", line 1, in <module> File "/Users/Yasser/build/mayavi/setup.py", line 498, in <module> **config File "/Library/Python/2.7/site-packages/numpy-1.6.1-py2.7-macosx-10.7-intel.egg/numpy/distutils/core.py", line 186, in setup return old_setup(**new_attr) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup dist.run_commands() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/Library/Python/2.7/site-packages/numpy-1.6.1-py2.7-macosx-10.7-intel.egg/numpy/distutils/command/install.py", line 57, in run r = self.setuptools_run() File "/Library/Python/2.7/site-packages/numpy-1.6.1-py2.7-macosx-10.7-intel.egg/numpy/distutils/command/install.py", line 31, in setuptools_run return old_install_mod._install.run(self) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/install.py", line 573, in run self.run_command(''build'') File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command self.distribution.run_command(command) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/Users/Yasser/build/mayavi/setup.py", line 303, in run build_tvtk_classes_zip() File "/Users/Yasser/build/mayavi/setup.py", line 290, in build_tvtk_classes_zip gen_tvtk_classes_zip() File "tvtk/setup.py", line 46, in gen_tvtk_classes_zip from code_gen import TVTKGenerator File "tvtk/code_gen.py", line 10, in <module> import vtk ImportError: No module named vtk Complete output from command /usr/bin/python -c "import setuptools;__file__=''/Users/Yasser/build/mayavi/setup.py'';exec(compile(open(__file__).read().replace(''/r/n'', ''/n''), __file__, ''exec''))" install --single-version-externally-managed --record /var/folders/53/_trhc_0x0fb6kvx6bw_wrk500000gn/T/pip-Z4hpsW-record/install-record.txt: running install running build Traceback (most recent call last): File "<string>", line 1, in <module> File "/Users/Yasser/build/mayavi/setup.py", line 498, in <module> **config File "/Library/Python/2.7/site-packages/numpy-1.6.1-py2.7-macosx-10.7-intel.egg/numpy/distutils/core.py", line 186, in setup return old_setup(**new_attr) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup dist.run_commands() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/Library/Python/2.7/site-packages/numpy-1.6.1-py2.7-macosx-10.7-intel.egg/numpy/distutils/command/install.py", line 57, in run r = self.setuptools_run() File "/Library/Python/2.7/site-packages/numpy-1.6.1-py2.7-macosx-10.7-intel.egg/numpy/distutils/command/install.py", line 31, in setuptools_run return old_install_mod._install.run(self) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/command/install.py", line 573, in run self.run_command(''build'') File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 326, in run_command self.distribution.run_command(command) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/Users/Yasser/build/mayavi/setup.py", line 303, in run build_tvtk_classes_zip() File "/Users/Yasser/build/mayavi/setup.py", line 290, in build_tvtk_classes_zip gen_tvtk_classes_zip() File "tvtk/setup.py", line 46, in gen_tvtk_classes_zip from code_gen import TVTKGenerator File "tvtk/code_gen.py", line 10, in <module> import vtk ImportError: No module named vtk ---------------------------------------- Command /usr/bin/python -c "import setuptools;__file__=''/Users/Yasser/build/mayavi/setup.py'';exec(compile(open(__file__).read().replace(''/r/n'', ''/n''), __file__, ''exec''))" install --single-version-externally-managed --record /var/folders/53/_trhc_0x0fb6kvx6bw_wrk500000gn/T/pip-Z4hpsW-record/install-record.txt failed with error code 1 in /Users/Yasser/build/mayavi Storing complete log in /Users/Yasser/Library/Logs/pip.log Traceback (most recent call last): File "/usr/local/bin/pip", line 8, in <module> load_entry_point(''pip==1.1'', ''console_scripts'', ''pip'')() File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/__init__.py", line 116, in main return command.main(args[1:], options) File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 141, in main log_fp = open_logfile(log_fn, ''w'') File "/Library/Python/2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 168, in open_logfile log_fp = open(filename, mode) IOError: [Errno 13] Permission denied: ''/Users/Yasser/Library/Logs/pip.log''

Creo que el problema es con vtk .

¿Alguien puede ayudarme?

Otros detalles

Ejecutar sudo pip install mayavi no resuelve el problema.

Pensé que esto podría ayudar

› which python /usr/local/bin/python › python Python 2.7.2 (default, Feb 17 2012, 13:57:55) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import vtk >>> vtk <module ''vtk'' from ''/usr/local/Cellar/python/2.7.2/lib/python2.7/site-packages/VTK-5.10.0-py2.7.egg/vtk/__init__.pyc''> >>>

Mi PYTHONPATH está vacío.


Es probable que su pip esté usando un python diferente, una especie de vtk instalado usando /usr/local/bin/python , mientras que su binario pip usa /usr/bin/python .

Revisalo:

$ head -n1 $(which pip)

Para resolverlo, puedes elegir usar un virtualenv o instalar pip usando /usr/local/bin/python :

curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | /usr/local/bin/python

Para obtener más instrucciones de instalación, consulte http://www.pip-installer.org/en/latest/installing.html


Estoy en Debian pero esto debería funcionar para ti también

Me quedé atascado con la instalación de vtk en un virtualenv, después de horas de búsqueda sin resultados, hice lo siguiente y funcionó.

  1. instala python-vtk desde repositorios de todo el sistema

  2. copie la carpeta vtk de /usr/lib/pymodules/python2.7 a /PATH/TO/YOUR/VIRTUALENV/lib/python2.7/site-packages

En su caso, la carpeta de paquetes de python de todo el sistema probablemente sería diferente, pero puede encontrarla fácilmente activando el sistema python e ingresando lo siguiente:

import vtk,sys print(sys.modules[''vtk''])

Después de este truco, mayavi se instaló con éxito en mi virtualenv usando pip install mayavi y pip install imagine.

Edición: en lugar de copiarlo, es mejor que solo se vincule simbólicamente la carpeta en el paso 2


Insistí en instalar sudo varias veces, finalmente lo resolví, no sé cómo explicarlo.

sudo python2 -m pip install mayavi sudo python3 -m pip install mayavi


Instalé vtk utilizando Homebrew:

$ brew install vtk

espero que esto ayude.


Tuve el mismo problema al instalar mayavi con python instalado en pyenv, y resolví este problema copiando el directorio en /home/myname/.pyenv/versions/2.7.12/lib/python2.7/site-packages , a continuación está mi método:

  1. instalar vtk y python-vtk

    sudo apt-get install vtk6 sudo apt-get install python-vtk

  2. prueba python -c "import vtk" , si falla nuevamente, ve al paso 3

  3. el error de importación puede deberse a la pérdida de la carpeta del paquete vtk en su python actual, por lo que deberíamos encontrar la carpeta vtk y copiarla en el directorio de python actual (lo más posible el python en el directorio de pyenv shims).

    la ruta de la carpeta vtk en mi ubuntu es

    /usr/lib/python2.7/dist-packages/vtk

    simplemente copie la carpeta vtk a los /site-packages python actuales, por ejemplo,

    cp -r /usr/lib/python2.7/dist-packages/vtk /home/myname/pyenv/versions/2.7.12/lib/python2.7/site-packages

  4. intente python -c "import vtk" nuevo.

  5. Si no hay error de importación, simplemente hazlo.

    pip install mayavi


Tuve el mismo problema y la primera respuesta no me ayudó porque pip estaba en el directorio correcto, pero resultó que no tenía instalado vtk - ejecutando sudo apt-get install python-vtk solucioné el problema y pude para ejecutar con éxito pip instalar mayavi después de eso.