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]()
Ответ 6
Вам нужно добавить папку vtkCommonPython.pyd также к системному пути (например, если это была dll).
См. Также http://www.vtk.org/Wiki/VTK/Tutorials/PythonEnvironmentSetup
Ответ 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’
Полные инструкции