Tôi đang sử dụng py2app 0.9
trên Mac OSX Yosemite 10.10.1
chạy Python 3.4
từ phân phối anaconda và với Tcl 8.5
.py2app xây dựng ok nhưng ứng dụng không thành công với "_tkinter.TclError" (và không có thông báo lỗi!)
Trong nỗ lực trước đây, việc xây dựng sẽ thất bại, nhưng tìm kiếm nhanh cho thấy giải pháp cho những vấn đề này (tức là bao gồm cả 'gói': ['tkinter', 'matplotlib']
trong OPTIONS trong setup.py
, và thay đổi dòng 49 của MachOGraph.py
: loader -> loader_path)
Bây giờ py2app
kết thúc xây dựng, và chạy trong chế độ Bí danh các chức năng ứng dụng của tôi, nhưng khi tôi xây dựng trong chế độ bình thường (python setup.py
py2app
) ứng dụng kết quả sẽ không mở và giao diện điều khiển cho thấy traceback sau:
traceback (m ost gọi gần đây cuối cùng): File "/Users/ryankeenan/Desktop/fishing/gui_test/dist/deani.app/Contents/Resources/ boot .py", dòng 355, trong _run() File "/ Người dùng /ryankeenan/Desktop/fishing/gui_test/dist/deani.app/Contents/Resources/ khởi động .py ", dòng 336, trong _run exec (biên dịch (nguồn, đường dẫn, 'exec'), globals(), globals()) Tệp "/Users/ryankeenan/Desktop/fishing/gui_test/dist/deani.app/Contents/Resources/deani.py", dòng 731, trong app = fishingapp() Tệp "/ Người dùng/ryankeenan /Desktop/fishing/gui_test/dist/deani.app/Contents/Resources/deani.py ", dòng 536, trong init tk.Tk. init (tự, * args, ** kwargs) File "/Users/ryankeenan/Desktop/fishing/gui_test/dist/deani.app/Contents/Resources/lib/python3.4/tkinter/ init py ", dòng 1851, trong init self.tk = _tkinter.create (screenname, basename, className, tương tác, wantobjects, useTk, đồng bộ, sử dụng) _tkinter.TclError
điều bực bội là nó không in bất kỳ thông báo lỗi nào cho "_tkinter.TclError". Tôi đã tìm kiếm khá nhiều và không tìm thấy bất kỳ giải pháp hoặc bản sao của vấn đề này. Tôi đã thử xây dựng các ứng dụng dựa trên tkinter khác nhau và tất cả đều thất bại trong cùng một cách.
Điều này xảy ra ở lần gọi đầu tiên tới tk.Tk. init (tự, * args, ** kwargs) trong mã của tôi.
tập tin setup.py của tôi trông như thế này:
from setuptools import setup
APP = ['deani.py']
DATA_FILES = []
OPTIONS = {'packages': ['tkinter','matplotlib'],'argv_emulation': True}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],)