installation de Mayavi avec pip - aucun module nommé vtk
je veux utiliser Mayavi.
Situation
- J'utilise un MacBook Air, avec OSX 10.7.3.
- j'utilise Python 2.7.2
- j'ai
virtualenv
installé. Mais je n'ai pas utilisé pour cette installation.
j'ai installé manuellement toutes ses dépendances, y compris VTK
.
VTK
, j'ai suivi son guide d'installation et installé le Python wrapper.
Maintenant, si j'ouvre un nouveau terminal fenêtre et ouvrez python, je peux importer vtk
sans aucune erreur.
Problème
j'essaie d'installer Mayavi avec la commande suivante:
pip install mayavi
Mais l'erreur suivante se produit:
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('rn', '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('rn', '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'
je pense que le problème est avec vtk
.
quelqu'un Peut-il m'aider?
Autres Détails
Exécution sudo pip install mayavi
ne résout pas le problème.
j'ai pensé que cela pourrait aider
› 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'>
>>>
Mon PYTHONPATH
est vide.
6 réponses
pip
utilise probablement unpython
, sorte de vous avez vtk
installé à l'aide de /usr/local/bin/python
, alors que votre pip
binaire /usr/bin/python
.
Vérifier:
$ head -n1 $(which pip)
pour l'obtenir résolu, vous pouvez choisir d'utiliser un virtualenv
, ou installer pip
en utilisant /usr/local/bin/python
:
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | /usr/local/bin/python
pour plus d'instructions d'installation, voir http://www.pip-installer.org/en/latest/installing.html
je suis sur Debian, mais cela devrait fonctionner pour vous aussi
j'étais coincé avec l'installation de vtk dans un virtualenv, après des heures de recherche sans résultats j'ai fait ce qui suit et ça a fonctionné.
installer python-vtk à partir des dépôts à l'échelle du système
copier le dossier vtk de /usr/lib/pymodules / python2.7 to/PATH/TO/YOUR/VIRTUALENV/lib / python2.7 / site-packages
dans votre cas, les paquets python à l'échelle du système dossier serait probablement différent, mais vous pouvez facilement le trouver en tirant jusqu'système de python et en entrant la commande suivante:
import vtk,sys
print(sys.modules['vtk'])
après cette astuce, mayavi a été installé avec succès dans mon virtualenv en utilisant pip install mayavi et pip install envisage.
Edit: au lieu de copier, Il serait peut-être préférable de simplement faire un lien symbolique avec le dossier à l'étape 2
j'ai eu le même problème et la première réponse ne m'a pas aidé parce que pip était dans le bon répertoire, mais il s'est avéré que je n'avais pas installé vtk - exécuter sudo apt-get install python-vtk corrigé le problème et j'ai pu exécuter avec succès pip install mayavi après cela.
j'ai eu le même problème lors de l'installation de mayavi avec python installé dans pyenv, et j'ai résolu ce problème en copiant directory vers /home/myname/.pyenv/versions/2.7.12/lib/python2.7/site-packages
, voici ma méthode:
installer
vtk
etpython-vtk
sudo apt-get install vtk6 sudo apt-get install python-vtk
python -c "import vtk"
, si elle échoue encore, passez à l'étape 3l'erreur d'importation peut être causée par la perte du dossier paquet vtk dans votre python actuel, donc nous devrions trouver le dossier vtk et le copier dans votre Python actuel(le plus possible le python dans le répertoire de pyenv shims)'s directory .
le chemin du dossier vtk dans mon ubuntu est
/usr/lib/python2.7/dist-packages/vtk
il suffit de copier le
vtk
le dossier de votre python actuel/site-packages
, e.g.cp -r /usr/lib/python2.7/dist-packages/vtk /home/myname/pyenv/versions/2.7.12/lib/python2.7/site-packages
python -c "import vtk"
nouveau.si aucune erreur d'importation, faites
pip install mayavi
j'ai insisté dans sudo
installer à plusieurs reprises, a finalement obtenu résolu, je ne sais pas comment l'expliquer.
sudo python2 -m pip install mayavi
sudo python3 -m pip install mayavi
j'ai installé vtk à l'aide de Homebrew:
$ brew install vtk
espérons que cette aide.