2014-02-17 2 views
2

Я построил gui в python, используя pyqt, который импортирует VTK. Я не имею никакой удачи вообще получать py2exe, pyinstaller cx_freeze и т.д., чтобы работать с ним ... Я получаю ошибку о том, что-то вдоль линий следующего использования pyinstaller:Python исполняемый с VTK ... pyinstaller, py2exe, cx_freeze и т. Д.

vtk.__helper.LinkError: No module named vtkFilteringPythonSIP 

мне удалось сделать рабочие исполняемые файлы, не содержат код vtk с pyinstaller, поэтому я склоняюсь к этому на данный момент, но если кто-то может помочь мне написать код, который сделает это: http://www.vtk.org/Wiki/VTK/Examples/Python/Widgets/EmbedPyQt код работает как исполняемый файл, то я буду бесконечно благодарен, однако это делается. Я попытался добавить файлы, которые он жалуется на крючки pyinstaller, но все равно не повезло. Есть ли старая/версия разработки, которая исправила эту ошибку? Невозможно найти решения на информационной супермагистрали, хотя я нашел людей в одной лодке. Я использую последнюю версию Python (X, Y).

ответ

5

Если кто-нибудь натыкается это то, была такая же проблема, мне удалось получить мой код работает, выполнив следующие действия:

  • В папке pyinstaller крючками, переименовать «hook-vtkpython.py» на «крючок -vtk.py '

У меня возникла другая ошибка при запуске исполняемого файла, сгенерированного pyinstaller, о невозможности найти модуль QtOpenGL. Это происходило внутри файла в папке vtk в пакетах сайта __helper.py. Я просто прокомментировал последние две строки, чтобы удалить зубы.

Я также изменил свой код, чтобы вместо импорта всего vtk я просто импортировал нужные мне биты. Не уверен, что только первый или оба эти шага были необходимы для решения проблемы, которую я боюсь, но решить ее они/она сделала. Проблема шла с Python (x, y) 2.7.5.1. Ваш пробег может отличаться.

+1

У меня была такая же проблема, кажется, что некоторые из бит vtk не очень хорошо работают с PyInstaller. Я переименовал файл «hook-vtkpython.py» в «hook-vtk.py» и прокомментировал последние две строки в __helper.py. Этого было достаточно для меня. Тем не менее, я хотел бы потратить больше времени на анализ ошибки, это решение немного взломано. – user3770060

Смежные вопросы