ImportError: нет модуля с именем vtkCommonPython

Я пытаюсь установить Python с VTK на свой компьютер, но когда я хочу импортировать VTK, я получаю сообщение об ошибке:

import vtk 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module>
 File "C:\vtk\Wrapping\Python\vtk\__init__.py", line 41, in <module>
   from vtkCommonPython import * 
ImportError: No module named vtkCommonPython 

Я уже проверил свои пути и у меня есть файл vtkCommonPython.pyd в папке bin.

Может ли кто-нибудь помочь мне с этой проблемой?

Ответы

Ответ 1

Я столкнулся с очень похожей проблемой и исправил ее, добавив /usr/local/lib/python2.7/site-packages/vtk/ в переменную среды PYTHONPATH.

Ваше точное исправление может различаться в зависимости от вашей версии python и т.д. (это влияет на пути). Вы должны уметь сортировать его, определяя местоположение отсутствующего модуля и затем добавляя путь к переменной окружения следующим образом.

В моем случае я нашел путь, используя:

find / -name vtkCommonCorePython 2>/dev/null

Затем добавлен соответствующий путь к ~/.bash_rc или эквивалент.

export PYTHONPATH="$PYTHONPATH:usr/local/lib/python2.7/site-packages/vtk/"

Будьте осторожны, чтобы вы добавляли к переменной пути, а не перезаписывали ее - вам, вероятно, уже нужно иметь некоторые другие вещи, такие как '/usr/local/lib/'. Формат (и файл, в который вы положили это!) Отличается для разных оболочек.

Перезагрузите терминал, чтобы получить изменения, а затем проверьте правильность настройки переменной:

echo $PYTHONPATH

И будьте очень осторожны, чтобы не было ошибок ни на одном из путей!

Ответ 2

Помимо проверки того, что vtk находится внутри вашего $PYTHONPATH, также обратите внимание, что более поздние версии VTK (6.x) больше не имеют модуля vtkCommonPython. Вместо этого он был разделен на несколько подкомпонентов. (например, vtkCommonCorePython, vtkCommonMathPython, vtkCommonSystemPython), но это будет главным образом проблемой для внешних пакетов, которые вы, возможно, захотите использовать (например, VMTK по умолчанию компилируется и зависит от VTK 5.10.

Чтобы проверить и развернуть свой $PYTHONPATH просто вызов:

$ echo $PYTHONPATH
/usr/local/lib/python2.7/site-packages
$ export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/vtk
$ echo $PYTHONPATH
/usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages/vtk

Чтобы проверить, какая версия vtk установлена:

$ python
Python 2.7.10
>>> import vtk
>>> print str(vtk.VTK_MAJOR_VERSION) + '.' + str(vtk.VTK_MINOR_VERSION)
6.2

Ответ 3

У меня была такая же проблема на MacOSX. Поэтому я начал использовать vtk/bin/vtkpython вместо python. Это позволило мне импортировать vtk без каких-либо ошибок. Затем я импортировал vtkCommonCorePython явно и распечатал местоположение:

$ /home/vtk/bin/vtkpython
vtk version 6.2.0
Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
Type "help", "copyright", "credits" or "license" for more information.
>>> import vtkCommonCorePython 
>>> print vtkCommonCorePython
<module 'vtkCommonCorePython' from '/home/vtk/lib/vtkCommonCorePython.so'>

В терминале я добавил папку lib в мой путь к виртуальной среде python:

$ add2virtualenv /home/vtk/lib

Я не знаю, как это переводится в Windows, но я надеюсь, что это поможет!

Ответ 4

У меня была та же проблема (kubuntu 14.04).

Я понял, что ссылки на скомпилированные объекты vtkpython в /usr/lib/python2.7/dist-packages/vtk были сломаны.

Итак, я пошел в /usr/lib/x86_64-linux-gnu и запустил for i in *-6.0.so.6.0; do sudo ln -s $i ${i/-6.0.so.6.0/-6.0.so}; done.

Казалось, что он решил проблему.

Надеюсь, что это поможет.

Ответ 5

Он должен находиться в каталоге sys.path. То, что я сделал, - это создать папку (на самом деле неважно, где) называется "Модули", в которой у меня есть все мои модули, которые я загружаю/создаю там. Скажем, я положил его в C:\Users\USER\Modules. Вы также можете разместить этот модуль там.

Вам нужно скопировать путь к папке.

Затем перейдите в Панель управления. Нажмите "Система", затем на левой панели появится опция "Дополнительные настройки системы". Нажмите на нее. В нижней части окна, которое появляется, щелкните "Переменные среды". Посмотрите, есть ли у вас переменная, созданная с именем PYTHONPATH. Скорее всего, вы этого не сделаете. Итак, создайте переменную (во втором разделе), нажав "NEW". Назовите его PYTHONPATH и для значения Variable введите путь к файлу. (Для моего примера путь к файлу C:\Users\USER\Modules). Надеюсь, это поможет:)

Я вставил скриншот о том, как туда попасть, как только вы попадете в расположение системы (Свойства) в панели управления: Python Path

Ответ 7

Предполагая, что вы использовали предложенные пути в инструкциях добавьте следующую строку в свой bashrc:

export PYTHONPATH=$HOME/projects/VTK-build/lib:$HOME/projects/VTK-build/Wrapping/Python:$PYTHONPATH

Если проблема возникает при использовании sudo, например

sudo yum install mayavi

вам, вероятно, нужно решить эту проблему. Добавьте следующую строку в bashrc:

alias sudo=’sudo env PYTHONPATH=$PYTHONPATH’

Полные инструкции