Py2app 问题

2 投票
3 回答
4936 浏览
提问于 2025-04-17 19:03

我写了一个用Python做的脚本,里面用了tkinter这个图形界面库。我想用py2app把它打包成一个应用程序,但我遇到了一个问题,就是我不知道怎么把tkinter模块包含进去。我试过不带这个模块打包我的脚本,但结果只收到一个控制台的提示,内容是“ImportError: no module named tkinter”,意思是找不到tkinter模块。

3 个回答

0

打包应用程序的一种方法是运行这个命令:

    py2applet --make-setup filename.py

然后,你可以运行:

    python3 setup.py py2app -A
4

为了打包这个应用,我想你是在终端里输入了这个:

$ python setup.py py2app

我也遇到过同样的问题,一直在网上找解决办法。我现在在一台Mac上运行Python 3.3。在我输入了这个之后:

$ python3 setup.py py2app

它就顺利运行了!希望这对你有帮助!

2

下面这个setup.py脚本可以用来处理一个简单的基于Tkinter的脚本(把'hello.py'替换成你实际脚本的名字)。

from setuptools import setup

setup(
    app=['hello.py'],
    setup_requires=["py2app"],
)

这个setup.py脚本来自py2app的hello_tk示例

更新:

你后面提到,tkinter也无法从“外部”导入到用py2app打包的应用程序中,并且_tkinter扩展(_tkinter.so)不存在。这说明你的Python 3.3安装可能有问题。

撰写回答