python - 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,但这也没有让我到任何地方。
有什么想法可以让这个工作吗?
谢谢
解决方案
由于这个原因,我注意到您安装了 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你想要的版本,它就像一个包含你需要的所有库的目录中的完整版本,因此你的应用程序将更加独立。如果您从未使用过它,请不要担心它非常简单,我两天前自己刚刚学会了它来解决完全相同的问题。
希望我有所帮助:)
推荐阅读
- dart - 测试使用插件和平台通道的 Flutter 代码
- c# - 异步删除显示数据的问题
- .net-core - EF Core 引用同一张表,单个集合
- reactjs - 在无状态组件中获取 ref
- javascript - 与 ng-options 中的硬编码 json 相比,解析我的动态 json 时出错
- google-cloud-platform - 如何在没有 ?authuser=1 的情况下获得经过身份验证的 GCS URL
- swift - 运行应用程序时,表格视图单元上未显示 Swift 按钮
- amazon-web-services - AWS Classic Load Balancer 随机不接收请求
- python - 用于单词计数、平均单词长度、单词频率和以字母开头的单词频率的 Python 程序
- android - (Mockito + Kotlin) Android 测试中的 eq() 和 any() 返回 null