Skip to main content
 首页 » 编程设计

python之py2app 没有创建我的应用程序的独立版本

2025年05月04日22artech

我正在使用 buildout 创建本地 python 环境,然后使用本地 python 通过 py2app 创建我的应用程序。但是,当我进入 .app 文件时,特别是进入 Contents/MacOS/时,只有系统 python 的快捷方式。我希望 py2app 以某种方式使用 local python 以便它只依赖于自身,而不依赖于系统 python。

所以我的问题是:我该如何解决这个问题,以便 py2app 捆绑我的自定义本地版本的 python2.7,这样我的应用程序将完全独立,而不管本地 python 版本如何?

如果更多信息有帮助,请告诉我。

我的设置.py

from setuptools import setup 
 
APP = ['main.py'] 
DATA_FILES = ['src/icon.xib'] 
OPTIONS = { 
            'argv_emulation': True, 
            'packages': [ 'requests' ], 
            'iconfile':'src/myApp.icns', 
            'plist': {'CFBundleShortVersionString':'0.1.0', 
                      'LSUIElement': True 
                     } 
          } 
 
setup( 
    name='myApp', 
    package_dir = {'':'src'}, 
    app=APP, 
    data_files=DATA_FILES, 
    options={'py2app': OPTIONS}, 
    setup_requires=['py2app'], 
) 

请您参考如下方法:

Py2app 不会在您的应用程序包中包含系统文件,例如/System/Library/Frameworks 中的 python 安装。

要创建还包含 Python 的 bundle ,您需要安装单独版本的 Python(以及您使用的所有库)。

但是请注意,使用系统版本的 Python 创建的应用程序应该可以在具有相同版本的 OSX 或更高版本的机器上正常运行。