如何将 py2app 与 Anaconda python 一起使用?

2023-11-24

我正在使用 Anaconda 发行版中的 Python 3,并尝试将简单的 python 程序转换为 OS X 应用程序(在 El Capitan 上运行)。按照中的说明进行操作教程, I ran

py2applet --make-setup my-script.py
python setup.py py2app -A

一切运行正常,没有错误,但是当我尝试启动该应用程序时,收到以下错误消息:

my-script:无法(原文如此)找到 python 运行时。您可能需要安装 Python 框架版本,或编辑此应用程序 Info.plist 文件中的 PyRuntimeLocations 数组。

我理解这意味着我应该添加 Anaconda 的 python 路径(它在我的 bash PATH 中,但启动器不知道)。但是,该应用程序是自动生成的Info.plist已经指向 Anaconda python 二进制文件:

<key>PythonInfoDict</key>
<dict>
    <key>PythonExecutable</key>
    <string>/Applications/Experimental/anaconda/bin/python</string>
    ...

我不明白这里有什么需要修复的。我已阅读这些相关问题:

  • 如何在虚拟环境中使用 py2app?
  • 使用 virtualenv 时 py2app 不会将 python 框架复制到新应用程序

第一个问题涉及相同的错误消息,并按照第二个问题中的建议解决。但据我了解,这些问题描述了相反的情况:OP正在运行与操作系统一起分发的python,并且想要分发他们的应用程序;解决办法是使用单独安装的python。我am使用非系统Python,我还没有尝试分发任何东西。那么到底是什么原因造成了这里的麻烦,有什么解决办法呢?


@l'L'l 的建议让我发现了问题:虽然当我在“别名模式”下生成应用程序时没有错误(使用环境符号链接而不是复制二进制文件),但在没有刷新别名模式的情况下构建应用程序出错误:py2app寻找libpythonDLL 使用不存在的名称/Applications/anaconda/lib/libpython3.4.dylib.

快速检查表明 Anaconda 以略有不同的名称提供此 DLL:libpython3.4m.dylib。打补丁的同时dist/my-script.app/Contents/Info.plist解决了问题,right解决方案是编辑setup.py以便将来的构建能够正常工作。在的帮助下py2app 文档,我整理了以下内容(部分内容setup.py shown):

OPTIONS = {'argv_emulation': True,
           'plist': {
               'PyRuntimeLocations': [
                '@executable_path/../Frameworks/libpython3.4m.dylib',
                '/Applications/anaconda/lib/libpython3.4m.dylib'
               ]
           }}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

路径来自生成的Info.plist;我只修改了绝对路径,因为如果我在相对路径中提供本地 DLL,它将具有默认名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 py2app 与 Anaconda python 一起使用? 的相关文章

随机推荐

  • 有没有办法检查Python中的函数是否递归?

    我想为练习编写一个测试函数 以确保函数正确实现 所以我想知道 有没有一种方法 给定一个函数 foo 来检查它是否是递归实现的 如果它封装了一个递归函数并使用它 它也算在内 例如 def foo n def inner n more code
  • Pandas 发现交叉值中的重复项

    我有一个数据框 想要消除具有相同值但在不同列中的重复行 df pd DataFrame columns a b c d index 1 2 3 df loc 1 pd Series a x b y c e d f df loc 2 pd S
  • Pentaho 数据集成无法在新的 Mac M1 上启动

    当我尝试在 Mac bigSur M1 上运行 Pentaho Data Integration 时遇到问题 问题代码如下 I m sorry this Mac platform arm64 is not yet supported Ple
  • UIImage 和 ressizedImageWithCapInsets Swift

    我是 Swift 的 Apple 新手 我读过一篇文章Here 但不知道如何做这样的事情 或者只是简单不知道如何使用resizableImageWithCapInsets与斯威夫特 请帮我使用resizableImageWithCapIns
  • 绝对 xpath 和相对 xpath 有什么区别? Selenium 自动化测试中哪个是首选?

    绝对 xpath 和相对 xpath 有什么区别 Selenium 自动化测试中哪个是首选 我正在使用 Selenium 和 Robot 框架准备测试脚本 绝对Xpath 它使用从根元素到期望元素的完整路径 相对Xpath 您可以简单地从引
  • 如何将 Maven 站点部署到 Artifactory?

    我们是从一个非常古老的 Artifactory 已有 6 7 年历史 升级而来的 当时 由于空间限制 部分存储库不是由 Artifactory 处理 而是通过 Apache httpd 服务器通过 HTTP 提供服务 通过 Apache h
  • Lua:仅当表中尚未存在时添加到表中或删除重复项的最智能方法

    我有一张字符串表 我想要一种简单的方法来删除表中的所有重复项 所以如果表是 a b c c d e e 经过此操作后将是 a b c d e 或者 也许更好的是 有一种方法可以将元素添加到表中 但前提是该元素尚未包含在表中 我通常为此做的是
  • Haskell - 是什么让“main”独一无二?

    有了这个代码 main FilePath gt FilePath gt IO main wrPath rdPath do x lt readFile rdPath writeFile wrPath x 我收到以下错误 Couldn t ma
  • 搜索大文本文件

    我正在尝试优化大型文本文件 300 600mb 中字符串的搜索 使用我目前的方法 花费的时间太长 目前我一直在使用IndexOf搜索该字符串 但为该字符串的每一行建立索引所需的时间太长 20 秒 如何优化搜索速度 我试过了Contains
  • FOS 其余捆绑包:无法找到模板

    我得到例外 找不到模板 其他类似的问题没有帮助 奇怪的是 它工作正常 然后突然开始给我这个例外 作曲家 friendsofsymfony rest bundle 0 13 dev jms serializer bundle 0 12 dev
  • conda-forge 安全吗?

    我去conda forge下载PyPDF2 conda install c conda forge pypdf2 并收到此消息 The following packages will be UPDATED ca certificates a
  • TypeScript:仅包​​含语句的导入模块

    我有一个page a ts这将编译成page a js alert this is from page a 我有一个main ts编译成main js import pageA module page a alert this is fro
  • Python:MySQL:处理超时

    我使用Python和mySQL 查询之间有很长的延迟 结果 我收到 MySQL 连接已消失 错误 即超出了 wait timeout 这已经被讨论过 例如在优雅地处理 MySQL 已经消失 但这并没有具体回答我的问题 所以我的处理方法是 我
  • 在Android TextView中,可以插入段落吗?

    以下是我遇到的问题类型的示例 我在 pojo 中有数据 需要在文本视图中显示 该数据具有伪代码 用 p 表示每个段落 当它们显示在文本视图中时 我想以某种方式将 p 解析为段落 这可以做到吗 有什么东西可以代替 p 来在文本视图中创建一个新
  • 网站上的 Disqus SSO 集成

    我们在我们的网站中加入了 Disqus 上的 SSO 功能 按照此处的 Disqus 文档进行操作http help disqus com customer portal articles 526768和这里http help disqus
  • 没有匹配的构造函数来初始化“mapped_type”std::map 错误

    我有一个名为 Card 的类 我试图将其一些对象存储在 std map 中 卡 hpp class Card public enum ValueType NOVALUE ACE enum FaceType NOFACE CLUBS Card
  • 为什么Lua的长度(#)运算符返回意外的值?

    Lua 有 运算符来计算用作数组的表的 长度 我检查了这个运营商 我很惊讶 这是我在 Lua 5 2 3 下运行的代码 t t 0 1 t 1 2 print t 1 aha lua counts from one t 2 3 print
  • 如何在javascript中将选定的文本设置为粗体/斜体/下划线?

    我正在尝试开发一个允许用户为学校项目编写自己的笔记的网页 我的想法是让他们使用按钮将文本加粗 斜体 下划线 截至目前 这些按钮正在工作 但它们对文本区域内的所有内容进行粗体 斜体 下划线 相反 我希望它以这样的方式工作 只有它们突出显示的文
  • 如何创建 ada lib.a 并链接到 C

    我正在尝试创建一个 ada 库并尝试了一些不同的东西 我尝试使用 makefile 编译项目并尝试从所有 o 文件创建一个库 这似乎没有按预期工作 然后我询问了 adacore 支持 他们向我指出了在 ada 和 c 项目中使用 gpr 文
  • 如何将 py2app 与 Anaconda python 一起使用?

    我正在使用 Anaconda 发行版中的 Python 3 并尝试将简单的 python 程序转换为 OS X 应用程序 在 El Capitan 上运行 按照中的说明进行操作教程 I ran py2applet make setup my