2014-09-25 4 views
1

Я пытаюсь превратить свой графический интерфейс в исполняемый файл с помощью Pyinstaller. GUI использует vpython, matplotlib и некоторые другие стандартные библиотеки python, я проверил, что могу импортировать все модули в командной консоли с помощью python. Я строй с помощью команды,PyInstaller 2.1 IOError

python pyinstaller.py -p C:\Python27\Lib\site-packages GUI.py 

Программа строит, но когда я пытаюсь запустить его, я получаю ошибки, что я не очень понимаю.

Traceback (most recent call last): 
    File "<string>", line 7, in <module> 
    File "C:\Users\James\Desktop\PyInstaller-2.1\PyInstaller\loader\pyi_importers. 
py", line 270, in load_module 
    exec(bytecode, module.__dict__) 
    File "C:\Users\James\Desktop\PyInstaller-2.1\GUI\build\GUI\out00-PYZ.pyz\visua 
l", line 4, in <module> 
    File "C:\Users\James\Desktop\PyInstaller-2.1\PyInstaller\loader\pyi_importers. 
py", line 270, in load_module 
    exec(bytecode, module.__dict__) 
    File "C:\Users\James\Desktop\PyInstaller-2.1\GUI\build\GUI\out00-PYZ.pyz\visua 
l_common.create_display", line 35, in <module> 
    File "C:\Users\James\Desktop\PyInstaller-2.1\PyInstaller\loader\pyi_importers. 
py", line 270, in load_module 
    exec(bytecode, module.__dict__) 
    File "C:\Users\James\Desktop\PyInstaller-2.1\GUI\build\GUI\out00-PYZ.pyz\visua 
l_common.materials", line 159, in <module> 
    File "C:\Users\James\Desktop\PyInstaller-2.1\GUI\build\GUI\out00-PYZ.pyz\visua 
l_common.materials", line 129, in loadTGA 
IOError: [Errno 2] No such file or directory: 'C:\\Users\\James\\Desktop\\PYINST 
~1.1\\GUI\\dist\\GUI\\visual_common/turbulence3.tga' 
swig/python detected a memory leak of type 'wxPlatformInfo *', no destructor fou 
nd. 
C:\Users\James\Desktop\PyInstaller-2.1\GUI\dist\GUI> 

Любая помощь оценивается.

+0

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

ответ

0

я был в состоянии исправить это после прочтения,

http://osdir.com/ml/python-visualpython-user/2009-07/msg00039.html

таллием, др, что есть некоторый код в materials.py в Vpython, который устанавливает путь текстуры,

if hasattr(sys,'frozen') and (sys.frozen=="windows_exe" or sys.frozen=="console_exe"): 
    texturePath="visual\\" 
else: 
    texturePath = os.path.split(__file__)[0] + "/" 
del sys 

Я прокомментировал это и заменил его статическим путем. Затем я скопировал файлы tga с Vpython на этот путь. Вероятно, это более элегантное решение, но это решение для меня подходит.

0

я установил так:

#texturePath="visual\\" --> texturePath="visual_common\\" 

#texturePath = os.path.split(__file__)[0] + "/" --> 
texturePath="C:\Python27\Lib\site-packages\\visual_common\\" 

С уважением

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