2012-07-30 6 views
0

scikits-image/skimage, numpy, scipy, wx 및 reportlab을 사용하는 매우 광범위한 응용 프로그램을 번들로 제공하고 있습니다. Windows 7 btw입니다.pyinstaller (windows)를 사용하여 응용 프로그램을 번들 할 때 오류가 발생했습니다.

이 잘 구축 할 것 같다

1091 INFO: wrote C:\Users\IEUser\Desktop\pyinstaller\sasdm\sasdm.spec 
1200 INFO: Testing for ability to set icons, version resources... 
1923 INFO: ... resource update available 
1993 INFO: UPX is not available. 
12236 INFO: checking Analysis 
12246 INFO: building Analysis because out00-Analysis.toc non existent 
12246 INFO: running Analysis out00-Analysis.toc 
12256 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executabl 
e 
69579 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.2 
1022.8_none ... 
69589 INFO: Found manifest C:\Windows\WinSxS\Manifests\x86_microsoft.vc90.crt_1f 
c8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91.manifest 
69640 INFO: Searching for file msvcr90.dll 
69650 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b 
_9.0.21022.8_none_bcb86ed6ac711f91\msvcr90.dll 
69650 INFO: Searching for file msvcp90.dll 
69660 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b 
_9.0.21022.8_none_bcb86ed6ac711f91\msvcp90.dll 
69660 INFO: Searching for file msvcm90.dll 
69660 INFO: Found file C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b 
_9.0.21022.8_none_bcb86ed6ac711f91\msvcm90.dll 
70089 INFO: Analyzing C:\Users\IEUser\Desktop\pyinstaller\support\_pyi_bootstrap 
.py 
72563 INFO: Analyzing C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\arc 
hive.py 
72713 INFO: Analyzing C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\car 
chive.py 
72864 INFO: Analyzing C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\iu. 
py 
72904 INFO: Analyzing C:/Users/IEUser/Desktop/sasdm/sasdm.py 
90069 INFO: checking Tree 
90078 INFO: building because out00-Tree.toc missing or bad 
90078 INFO: building Tree out00-Tree.toc 
91530 INFO: checking Tree 
91530 INFO: building because out01-Tree.toc missing or bad 
91530 INFO: building Tree out01-Tree.toc 
98730 INFO: Hidden import 'encodings' has been found otherwise 
98742 INFO: Looking for run-time hooks 
98742 INFO: Analyzing rthook C:\Users\IEUser\Desktop\pyinstaller\support/rthooks 
/pyi_rth_Image.py 
98772 INFO: Analyzing rthook C:\Users\IEUser\Desktop\pyinstaller\support/rthooks 
/pyi_rth_PIL_Image.py 
98802 INFO: Analyzing rthook C:\Users\IEUser\Desktop\pyinstaller\support/rthooks 
/pyi_rth_Tkinter.py 
98911 INFO: Analyzing rthook C:\Users\IEUser\Desktop\pyinstaller\support/rthooks 
/pyi_rth_encodings.py 
100013 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of 
final executable 
123457 INFO: Warnings written to C:\Users\IEUser\Desktop\pyinstaller\sasdm\build 
\pyi.win32\sasdm\warnsasdm.txt 
123556 INFO: checking PYZ 
123556 INFO: rebuilding out00-PYZ.toc because out00-PYZ.pyz is missing 
123556 INFO: building PYZ out00-PYZ.toc 
155382 INFO: checking PKG 
155393 INFO: rebuilding out00-PKG.toc because out00-PKG.pkg is missing 
155393 INFO: building PKG out00-PKG.pkg 
199075 INFO: checking EXE 
199085 INFO: rebuilding out00-EXE.toc because sasdm.exe missing 
199085 INFO: building EXE from out00-EXE.toc 
199164 INFO: Appending archive to EXE C:\Users\IEUser\Desktop\pyinstaller\sasdm\ 
dist\sasdm.exe 

을하지만 나는 다음과 같은 오류와 함께 인사를하고 응용 프로그램을 실행하려고하면

_MEIPASS2 is NULL 
archivename is C:\Users\IEUser\Desktop\pyinstaller\sasdm\dist\sasdm.exe 
Extracting binaries 
Executing self as child with Setting up to run child 
Creating child process 
Waiting for child process to finish... 
_MEIPASS2 is C:/Users/IEUser/AppData/Local/Temp/_MEI39282/ 
archivename is C:\Users\IEUser\Desktop\pyinstaller\sasdm\dist\sasdm.exe 
Already in the child - running! 
manifestpath: C:/Users/IEUser/AppData/Local/Temp/_MEI39282/sasdm.exe.manifest 
Activation context created 
Activation context activated 
C:/Users/IEUser/AppData/Local/Temp/_MEI39282/python27.dll 
Manipulating evironment 
PYTHONPATH=C:/Users/IEUser/AppData/Local/Temp/_MEI39282;C:/Users/IEUser/Desktop/ 
pyinstaller/sasdm/dist 
PYTHONHOME=C:/Users/IEUser/AppData/Local/Temp/_MEI39282/ 
importing modules from CArchive 
extracted iu 
extracted struct 
extracted archive 
Installing import hooks 
out00-PYZ.pyz 
Running scripts 
Traceback (most recent call last): 
    File "<string>", line 10, in <module> 
    File "C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\iu.py", line 386, 
in importHook 
    mod = _self_doimport(nm, ctx, fqname) 
    File "C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\iu.py", line 480, 
in doimport 
    exec co in mod.__dict__ 
    File "C:\Users\IEUser\Desktop\pyinstaller\sasdm\build\pyi.win32\sasdm\out00-PY 
Z.pyz\cell_analysis", line 13, in <module> 
    File "C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\iu.py", line 431, 
in importHook 
    mod = self.doimport(nm, ctx, ctx + '.' + nm) 
    File "C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\iu.py", line 480, 
in doimport 
    exec co in mod.__dict__ 
    File "C:\Users\IEUser\Desktop\pyinstaller\sasdm\build\pyi.win32\sasdm\out00-PY 
Z.pyz\skimage.data", line 11, in <module> 
    File "C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\iu.py", line 386, 
in importHook 
    mod = _self_doimport(nm, ctx, fqname) 
    File "C:\Users\IEUser\Desktop\pyinstaller\PyInstaller\loader\iu.py", line 480, 
in doimport 
    exec co in mod.__dict__ 
    File "C:\Users\IEUser\Desktop\pyinstaller\sasdm\build\pyi.win32\sasdm\out00-PY 
Z.pyz\skimage.io", line 76, in <module> 
    File "C:\Users\IEUser\Desktop\pyinstaller\sasdm\build\pyi.win32\sasdm\out00-PY 
Z.pyz\skimage.io", line 56, in _update_doc 
ValueError: max() arg is an empty sequence 
RC: -1 from sasdm 
OK. 
Deactivating activation context 
Releasing activation context 
Done 
Back to parent... 
Freeing status for C:\Users\IEUser\Desktop\pyinstaller\sasdm\dist\sasdm.exe 

이 뭔가 문제가 있다는 것을 믿고 날 리드 skimage/scikits-image를 사용하지만이 문제를 해결하는 방법에 관해선 알지 못합니다. 비슷한 것을 만난 사람이 있습니까?

UPDATE는

나는 py2exe에도 이것을 테스트와 동일한 응답의 다음과 같은 종류 가지고 : 지금 문제를 좁혀했습니다

Traceback (most recent call last): 
    File "sasdm.py", line 10, in <module> 
    import cell_analysis 
    File "cell_analysis.pyc", line 13, in <module> 

    File "skimage\data\__init__.pyc", line 11, in <module> 
    File "skimage\io\__init__.pyc", line 76, in <module> 
    File "skimage\io\__init__.pyc", line 56, in _update_doc 
ValueError: max() arg is an empty sequence 

업데이트 2

합니다. 에서 skimage/IO/_plugins/plugin.py, skimage는 다음과 같은 방식으로 파일에서의 플러그인을 읽으려고합니다

pd = os.path.dirname(__file__) 
ini = glob(os.path.join(pd, '*.ini')) 

그러나 파일이 존재하지 않는 (겉보기 무작위라는 이름의) 디렉토리로 평가 . 이제 skimage는 번들에 포함될 플러그인 파일 (.ini 및 .py)이 필요하고 실행될 때 번들 내에서 파일을 찾아야합니다. 첫 번째 비트는 데이터 파일을 수집하지만 두 번째 부분은 수집 할 수 있다고 생각하십니까?

+0

: 내 코드에서이 라인에 의해 트리거

ValueError: max() arg is an empty sequence 

https://github.com/scikit -image/scikit-image/issues/1157 도움이 될만한 의견이 있으면 보내주십시오. –

답변

0

나는 cx_Freeze에서 동일한 문제가있었습니다. 내 해결 방법은 Python \ Lib \ site-packages에서 전체 폴더 skimage를 exe 파일이있는 폴더로 복사하는 것입니다.

나중에 ImportError : no signal이라는 새 오류가 발생했습니다. 빌드에서 scipy.signal을 추가하여 수정했습니다. 오류 다음과 같은 방법으로

, : 우리는 여기이 문제를 해결하기 위해 노력하고

from skimage import data