XP에서 python 2.6을 사용하고 있습니다. 방금 py2exe를 설치했으며 hello.py에서 간단한 hello.exe를 성공적으로 만들 수 있습니다. 그러나 실제 프로그램에서 py2exe를 사용하려고하면 py2exe가 몇 가지 정보 메시지를 생성하지만 dist 폴더에 아무것도 생성하지 못합니다.
내 setup.py는 다음과 같습니다.
from distutils.core import setup
import py2exe
setup(console=['ServerManager.py'])
py2exe 출력은 다음과 같습니다.
python setup.py py2exe
running py2exe
creating C:\DevSource\Scripts\ServerManager\build
creating C:\DevSource\Scripts\ServerManager\build\bdist.win32
...
...
creating C:\DevSource\Scripts\ServerManager\dist
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'wx._misc_' (C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_misc_.pyd -> wx._misc_.pyd)
creating python loader for extension 'lxml.etree' (C:\Python26\lib\site-packages\lxml\etree.pyd -> lxml.etree.pyd)
...
...
creating python loader for extension 'bz2' (C:\Python26\DLLs\bz2.pyd -> bz2.pyd)
*** finding dlls needed ***
py2exe는 내 모든 가져 오기를 찾은 것 같습니다 (명시 적으로 가져 오지 않았기 때문에 win32가 언급 된 것을보고 약간 놀랐습니다). 또한 내 프로그램은 다음 명령으로 아주 행복하게 시작됩니다.
python ServerManager.py
분명히 근본적으로 잘못된 일을하고 있지만 py2exe의 오류 메시지가 없으면 무엇을 알 수 없습니다.
해결 방법
wxPython을 사용하는 프로그램의 일부를 주석 처리하면 py2exe가 잘 작동한다는 것을 발견했습니다. 또한 다운로드와 함께 제공되는 '단순'샘플 (예 : Python26 \ Lib \ site-packages \ py2exe \ samples \ simple)에서 py2exe를 사용하면 다음 오류 메시지가 표시됩니다.
*** finding dlls needed ***
error: MSVCP90.dll: No such file or directory
그래서 wxPython에 대한 무언가로 인해 py2exe는 Visual Studio 2008 DLL이 필요하다고 생각합니다. 나는 VS2008이 없지만 내 프로그램은 Python 모듈의 디렉토리만큼 완벽하게 작동합니다. 웹에서 MSVCP90.DLL 사본을 발견하고 Python26 / DLL에 설치했으며 py2exe가 이제 제대로 작동합니다.
py2exe 없이도 내 코드를 완벽하게 실행할 수 있기 때문에이 종속성이 어디에서 왔는지 여전히 이해하지 못합니다. 또한 py2exe가 test_wx.py 샘플에서했던 것처럼 오류 메시지를 표시하지 않은 것도 성가신 일입니다.
참조 페이지 https://stackoverflow.com/questions/323424
'파이썬' 카테고리의 다른 글
파이썬 Python : 목록 개체에서 공백 제거 (0) | 2020.11.19 |
---|---|
파이썬에서 날짜에서 n 일 빼기 (0) | 2020.11.19 |
파이썬 날짜 시간 열을 가장 가까운 분기 시간으로 반올림하는 방법 (0) | 2020.11.18 |
파이썬 Python : 유니 코드 이스케이프 처리 된 문자열에 .format () 사용 (0) | 2020.11.18 |
파이썬 UnicodeEncodeError : 'charmap'codec ca n't encode character '\ u2010': character maps to <undefined> (0) | 2020.11.18 |
댓글