it-swarm.com.de

mayavi mit pip installieren - kein Modul mit dem Namen vtk

Ich möchte Mayavi verwenden.

Situation

  • Ich verwende ein MacBook Air mit OSX 10.7.3.
  • Ich benutze Python 2.7.2
  • Ich habe virtualenv installiert. Aber ich habe es nicht für diese Installation verwendet.

Ich habe alle Abhängigkeiten manuell installiert, einschließlich VTK.

Für VTK folgte ich der Installationsanleitung und installierte den Python-Wrapper.

Wenn ich jetzt ein neues Terminalfenster öffne und Python öffne, kann ich vtk ohne Fehler importieren.

Problem

Ich versuche Mayavi mit dem folgenden Befehl zu installieren:

pip install mayavi

Der folgende Fehler tritt jedoch auf:

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'

Ich denke, das Problem liegt bei vtk.

Kann mir jemand helfen?

Andere Details

Das Ausführen von Sudo pip install mayavi löst das Problem nicht.

Ich dachte, das könnte helfen

› 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'>
>>> 

Mein PYTHONPATH ist leer.

29
Yasser Souri

Ihr pip verwendet wahrscheinlich ein anderes python. Sie haben vtk mit /usr/local/bin/python installiert, während Ihre pip-Binärdatei /usr/bin/python verwendet.

Prüfen Sie:

$ head -n1 $(which pip)

Um das Problem zu lösen, können Sie ein virtualenv verwenden oder pip mit /usr/local/bin/python installieren:

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

Weitere Installationsanweisungen finden Sie unter http://www.pip-installer.org/de/latest/installing.html

10
Hugo Tavares

Ich bin bei Debian, aber das sollte auch für Sie funktionieren

Ich war bei der Installation von vtk in einer virtualenv geblieben, nach stundenlanger Suche ohne Ergebnisse habe ich Folgendes gemacht und es hat funktioniert.

  1. installieren Sie python-vtk systemweit aus den Repositorys

  2. kopieren Sie den vtk-Ordner von /usr/lib/pymodules/python2.7 nach /PATH/TO/YOUR/VIRTUALENV/lib/python2.7/site-packages

In Ihrem Fall wäre der systemweite Python-Paketordner wahrscheinlich anders, aber Sie können ihn leicht finden, indem Sie System-Python starten und Folgendes eingeben:

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

Nach diesem Trick wurde mayavi mit pip install mayavi und pip install envisage erfolgreich in meine virtuelle Umgebung installiert. 

Bearbeiten: Statt zu kopieren, ist es möglicherweise besser, den Ordner in Schritt 2 symbolisch zu verknüpfen

16
Hennadii Madan

Ich hatte das gleiche Problem und die erste Antwort half mir nicht, da pip sich im richtigen Verzeichnis befand, aber es stellte sich heraus, dass ich kein vtk installiert hatte. Das Ausführen von Sudo apt-get install python-vtk hat das Problem behoben und ich konnte es um erfolgreich pip install mayavi auszuführen.

8
Alex

Ich hatte das gleiche Problem, als ich mayavi mit python in pyenv installierte. Ich habe dieses Problem durch Kopieren des Verzeichnisses nach /home/myname/.pyenv/versions/2.7.12/lib/python2.7/site-packages gelöst. Unten ist meine Methode:

  1. vtk und python-vtk installieren

    Sudo apt-get install vtk6
    Sudo apt-get install python-vtk
    
  2. versuchen Sie python -c "import vtk". Wenn der Vorgang erneut fehlschlägt, fahren Sie mit Schritt 3 fort

  3. der Importfehler kann durch den Verlust des vtk-Paketordners in Ihrem aktuellen Python verursacht werden. Daher sollten wir den vtk-Ordner finden und in das Verzeichnis Ihres aktuellen Pythons kopieren (möglichst das Python im Verzeichnis pyenv shims).

    der Pfad des vtk-Ordners in meinem Ubuntu ist

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

    kopieren Sie einfach den vtk-Ordner in den /site-packages Ihres aktuellen Pythons, z. 

    cp -r /usr/lib/python2.7/dist-packages/vtk /home/myname/pyenv/versions/2.7.12/lib/python2.7/site-packages
    
  4. python -c "import vtk" noch einmal versuchen.

  5. wenn kein Importfehler, tun Sie es einfach

    pip install mayavi
    
3
PytLab

Ich bestand mehrmals darauf, Sudo zu installieren, wurde schließlich gelöst und weiß nicht, wie ich das erklären soll.

Sudo python2 -m pip install mayavi

Sudo python3 -m pip install mayavi
1
Paul Chen