web-dev-qa-db-ja.com

pipを使用したMayaviのインストール-vtkという名前のモジュールはありません

Mayaviを使用したい。

状況

  • OSX 10.7.3でMacBook Airを使用しています。
  • 私はPython 2.7.2
  • virtualenvがインストールされています。ただし、このインストールには使用していません。

VTKを含むすべての依存関係を手動でインストールしました。

VTKについては、インストールガイドに従ってpythonラッパーをインストールしました。

これで、新しいターミナルウィンドウを開いてpythonを開くと、vtkをエラーなしでインポートできます。

問題

次のコマンドでMayaviをインストールしようとしました。

pip install mayavi

ただし、次のエラーが発生します。

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'

問題はvtkにあると思います。

誰も私を助けることができますか?

その他の詳細

ランニング Sudo pip install mayaviは問題を解決しません。

これが役立つと思いました

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

私のPYTHONPATHは空です。

31
Yasser Souri

おそらくpipは異なるpythonを使用していますが、/usr/local/bin/pythonを使用してvtkをインストールしていますが、pipバイナリは/usr/bin/python

それを確認してください:

$ head -n1 $(which pip)

解決するには、virtualenvを使用するか、/usr/local/bin/pythonを使用してpipをインストールするかを選択できます。

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

インストール手順の詳細については、 http://www.pip-installer.org/en/latest/installing.html を参照してください

10
Hugo Tavares

私はDebianを使用していますが、これも同様に機能するはずです

何時間も検索した後、vtkをvirtualenvにインストールすることに固執しましたが、結果はありませんでしたが、次のように動作しました。

  1. システム全体のリポジトリからpython-vtkをインストールします

  2. vusrフォルダーを/usr/lib/pymodules/python2.7から/PATH/TO/YOUR/VIRTUALENV/lib/python2.7/site-packagesにコピーします

あなたの場合、システム全体のpython packagesフォルダーはおそらく異なるでしょうが、system pythonを起動して以下を入力することで簡単に見つけることができます。

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

このトリックの後、pip install mayaviとpip install envisageを使用してmayaviがvirtualenvに正常にインストールされました。

編集:コピーする代わりに、手順2でフォルダをシンボリックリンクする方が良い場合があります

16
Hennadii Madan

私は同じ問題を抱えていて、最初の答えはピップが正しいディレクトリにあったので助けにはなりませんでしたが、vtkがインストールされていなかったことがわかりました-Sudo apt-get install python-vtkを実行すると問題が修正され、できましたその後、pip install mayaviを正常に実行します。

8
Alex

python pyenvにインストールされたmayaviをインストールするときに同じ問題が発生し、ディレクトリを/home/myname/.pyenv/versions/2.7.12/lib/python2.7/site-packagesにコピーすることでこの問題を解決しました。

  1. vtkおよびpython-vtkをインストールします

    Sudo apt-get install vtk6
    Sudo apt-get install python-vtk
    
  2. python -c "import vtk"を試してください。再度失敗した場合は、手順3に進みます

  3. インポートエラーは、現在のpythonのvtkパッケージフォルダーが失われたために発生する可能性があるため、vtkフォルダーを見つけて現在のpythonにコピーする必要があります(pyenv shimsディレクトリのpython) sディレクトリ。

    私のubuntuのvtkフォルダのパスは

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

    vtkフォルダーを現在のpythonの/site-packagesにコピーするだけです。

    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"を再試行してください。

  5. インポートエラーがなければ、ただ

    pip install mayavi
    
3
PytLab

私はSudoのインストールを何度か主張しましたが、ついに解決しました。説明する方法がわかりません。

Sudo python2 -m pip install mayavi

Sudo python3 -m pip install mayavi
1
Paul Chen