나는 tkinter와 multiprocessing뿐만 아니라 특히 sudoku solver를 사용했다. 나는 py2app을 사용하고있는 독립 실행 형 응용 프로그램으로 만들고 싶습니다.py2app python3.3을 사용할 때 SyntaxError
필자는 py2applet-3.3 --make-setup sudoku_app.py (즉, macports를 통해 설치되었을 때 호출 된 것입니다.)를 실행했는데 성공했습니다. python3.3 (python3.3의 setup.py의 py2app)를 구축 할 때 그러나, 이렇게 끝나는 거의 끝이 스택 트레이스와 구문 에러를 반환
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/modulegraph/modulegraph.py", line 954, in load_module
co = compile(contents, pathname, 'exec', 0, True)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/sympy/mpmath/libmp/exec_py2.py", line 2
exec string in globals, locals
^
SyntaxError: invalid syntax
python2.7와 같은 설치 파일을 실행, 빌드에는 성공하지만 생성 된 .app을 실행하려고하면 오류가 발생합니다. 파이썬 3에서 코드를 작성했는데 다양한 try ... except-blocks을 통해 파이썬 2 호환성을 유지하려고 시도했지만 미래에는 수입품이있다. 그러나 어떤 점에서는 너무 복잡해졌으며 python3을 사용하기로 결정했습니다.
왜 py2app는 python3에서 작동하지 않습니까?
답변 해 주셔서 감사합니다. 당연하지. 나는 스택 추적에있는 파일의 이름을 바꾸어서 스스로 고칠 수있었습니다 : exec_py2.py를 _exec_py2.py로, exec_py3.py를 exec_py2.py로 변경했습니다. 어쩌면 py2app가 잘못된 파일을 사용하고 있을까요? – Epimetheus
아닙니다. 호환성 레이어에는 "if Py3K : import exec_py3; else import exec_py2 "와 py2app (또는 오히려 modulegraph)는 하나만 도달 할 수 있다고하더라도 두 가져 오기를 모두 봅니다. –