2014-12-29 3 views
1

Проблема, с которой я столкнулась, заключается в том, что при запуске pyinstall plotGUI.spec он создает рабочий -onefile .exe. Проблема заключается в том, что я не хочу использовать один файл, видя, как у меня есть файлы, записывающие файлы, и удаляемый каталог temp бесполезен. Поэтому я хочу создать exe без команды --onefile, и все, что я делаю, не работает. Новый файл спецификация дает мне ех, который возвращает следующее сообщение об ошибке:Pyinstaller создаст исполняемый файл с -onefile, но не без него

The application has failed to start because its side-by-side configuration is incorrect. 
Please see the application event log or use the command-line sxstrace.exe tool for more details. 

Я не знаю, где журнал приложений или как использовать sxstrace (я обычно не пользователь окна, просто нужно для этого проекта .) Я бегу WinPython 32bit 2.7.6.4 на Windows 7 64 бит (мне нужен 32 битный питона для модуля)

Вот мой спецификации файл, который создает рабочую --onefile ехе:.

# -*- mode: python -*- 
a = Analysis(['plotGUI.py'], 
      pathex=['C:\\Users\\Wesley\\Documents\\DirtScanner'], 
      hiddenimports=['scipy.special._ufuncs_cxx','PySide.QtCore','PySide.QtGui'], 
      hookspath=None, 
      excludes=['PyQt4'], 
      runtime_hooks=None) 

a.datas += [('DejaVuLogo.ico', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\DejaVuLogo.ico', 'DATA'),('DejaVuLogo.png', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\DejaVuLogo.png', 'DATA'),('temp.npy', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\temp.npy', 'DATA'),('threshold.npy', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\threshold.npy', 'DATA')] 

for d in a.datas: 
    if 'pyconfig' in d[0]: 
     a.datas.remove(d) 
     break 

pyz = PYZ(a.pure) 
exe = EXE(pyz, 
      a.scripts, 
      a.binaries, 
      a.zipfiles, 
      a.datas, 
      name='DirtScanner.exe', 
      debug=True, 
      strip=None, 
      upx=True, 
      console=True , 
      icon='DejaVuLogo.ico') 

Это другой файл спецификации, который не работает.

# -*- mode: python -*- 
a = Analysis(['plotGUI.py'], 
      pathex=['C:\\Users\\Wesley\\Documents\\DirtScanner'], 
      hiddenimports=['scipy.special._ufuncs_cxx','PySide.QtCore','PySide.QtGui'], 
      hookspath=None, 
      excludes=['PyQt4'], 
      runtime_hooks=None) 

a.datas += [('DejaVuLogo.ico', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\DejaVuLogo.ico', 'DATA'),('DejaVuLogo.png', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\DejaVuLogo.png', 'DATA'),('temp.npy', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\temp.npy', 'DATA'),('threshold.npy', 'C:\\Users\\Wesley\\Documents\\DirtScanner\\threshold.npy', 'DATA')] 

for d in a.datas: 
    if 'pyconfig' in d[0]: 
     a.datas.remove(d) 
     break 

pyz = PYZ(a.pure) 
exe = EXE(pyz, 
      a.scripts, 
      exclude_binaries=True, 
      name='plotGUI.exe', 
      debug=False, 
      strip=None, 
      upx=True, 
      console=False) 
coll = COLLECT(exe, 
       a.binaries, 
       a.zipfiles, 
       a.datas, 
       strip=None, 
       upx=True, 
       name='plotGUI') 

EDIT: Я нашел журнал событий для программы. Кажется, что проблема с Microsoft Visual, в частности, отладка, но почему у нее есть проблема с одним, а не с другим?

Activation context generation failed for  
"C:\Users\Wesley\Documents\DirtScanner\dist\plotGUI\plotGUI.exe.Manifest". 
Dependent Assembly 
Microsoft.VC90.DebugCRT,processorArchitecture="x86", 
publicKeyToken="1fc8b3b9a1e18e3b",type="win32", 
version="9.0.21022.8" could not be found. 
Please use sxstrace.exe for detailed diagnosis. 

Я попытался переустановить какую-то визуальную студию, но так ни за что не помог.

ответ

0

Итак, после большой борьбы я попытался использовать py2exe, который также потерпел неудачу, а затем переключился на cx_freeze. Получив его для компиляции с помощью cx_freeze, он выплюнул сообщение об ошибке, в основном сообщив мне, какая часть моего кода не имела необходимых DLL. Оказывается, по какой-то причине SeaBorn выдает ошибку. Комментируя это, вышеупомянутый файл спецификации работал для кода.

+0

Что такое SeaBorn? Я не понимаю твое решение. Я даже не могу найти его в коде выше? – Trilarion

+0

Мое решение лежит в коде, который я пытался скомпилировать. Seaborn - это библиотека python (http://stanford.edu/~mwaskom/software/seaborn/). Я не могу показать фактический код, но приведенный выше код для компиляции работал, как только я достал библиотеку морского дна – NightHallow