首页 > 解决方案 > py2app 找不到 Python 框架

问题描述

我正在尝试使用 py2app 在 Mac 上创建一个简单的 Python 应用程序。我只是想让 py2app 工作,所以现在我的 Python 程序如下所示:

#!/usr/bin/env python
x = "hello"
print(x)

我根据 py2app 文档在终端中运行这些命令:

py2applet --make-setup MyApplication.py
python setup.py py2app -A

运行这些后,我收到此错误消息。

MyApplication[57520:1908985] A Python runtime not could be located.  You may need to install a framework build of Python, or edit the PyRuntimeLocations array in this application's Info.plist file.

查看Info.plist,这些是 PyRuntimeLocations:

@executable_path/../Frameworks/libpython3.7.dylib
/Users/me/opt/anaconda3/lib/libpython3.7.dylib

我已经安装了 Python,我还尝试通过自制软件安装它(因为我认为这是对其他人的解决方案),但它对我不起作用。我也尝试过编辑 plist,但这也没有让我到任何地方。

有什么想法可以让这个工作吗?

谢谢

标签: pythonframeworkshomebrewpy2app

解决方案


由于这个原因,我注意到您安装了 anaconda

/Users/me/opt/anaconda3/lib/libpython3.7.dylib

我有同样的问题,我刚刚解决了。

我注意到在我的终端中,这个出现在终端中的(基本)标签

它给了我同样的错误,无法找到 A Python 运行时。首先,我尝试在运行 python 3.9 的虚拟环境中完成我的所有项目,当我到达

$ python setup.py py2app -A

它给了我同样的错误,但注意到我的终端看起来像这样(env)(base) 标签

因为它使用了两个虚拟环境,所以在你的终端中首先运行$ your_environment deactivate,以防你使用虚拟环境,然后运行$ conda deactivate,这将使你脱离基本环境 conda 默认情况下让你进入。

最后你重复这个过程

$ python setup.py py2app -A

发生的情况是,如果您在 conda (base) venv 中,它将在 opt 目录中搜索框架而没有太大成功,但实际上我也建议您为项目使用虚拟环境,因为您可以使用任何 python你想要的版本,它就像一个包含你需要的所有库的目录中的完整版本,因此你的应用程序将更加独立。如果您从未使用过它,请不要担心它非常简单,我两天前自己刚刚学会了它来解决完全相同的问题。

希望我有所帮助:)


推荐阅读