Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python py2app不是';t创建我的应用程序的独立版本_Python_Macos_Py2app - Fatal编程技术网

Python py2app不是';t创建我的应用程序的独立版本

Python py2app不是';t创建我的应用程序的独立版本,python,macos,py2app,Python,Macos,Py2app,我正在使用buildout创建本地python环境,然后使用本地python使用py2app创建我的应用程序。但是,当我进入.app文件,特别是进入Contents/MacOS/时,只有一个系统python的快捷方式。我想要py2app以某种方式使用本地python,这样它就只依赖于自身,而不依赖于系统python。 所以我的问题是:我如何解决这个问题,使py2app将绑定我的自定义本地版本的python2.7,从而使我的应用程序完全独立,而不考虑本地的python版本 请让我知道,如果更多的信

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

所以我的问题是:我如何解决这个问题,使py2app将绑定我的自定义本地版本的python2.7,从而使我的应用程序完全独立,而不考虑本地的python版本

请让我知道,如果更多的信息将是有益的

我的setup.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的捆绑包,您需要安装单独版本的Python(以及您使用的所有库)


但是,请注意,使用系统版Python创建的应用程序应能在具有相同OSX版本或更高版本的计算机上正常工作。

有点类似。它可能会带你去某个地方。对,我以前见过。我所做的(使用buildout中的本地python)与解决方案中描述的不同吗?我不是用系统python创建应用程序,我使用的是我本地的pythonHmm…根据py2app网站,只有启用了-s选项,才能进行非独立构建。嗯,似乎是这样的。根据我做的一些研究,一些py2app构建意外地启用了该选项。验证您是否具有最新版本。另外,您是否绝对确定您正在从终端调用本地Python?您是否可以尝试不使用virtualenv?似乎是…您是否可以修改setup.py以导入sys并打印sys.executable?而且,您可以尝试不使用virtualenv吗?我正在使用zc.buildout来设置我的环境,而本地python似乎不是标准的python。当我使用py2app时,它会创建一个半独立的应用程序。但是,如果我使用标准python制作一个virtualenv,我会得到期望的结果。您知道有什么方法可以让buildout下载/使用py2app的正确python吗?我自己不使用buildout。如果py2app使用它创建了一个半独立的构建,buildout要么创建一个python的静态构建(没有与python解释器共享的库),要么使用/usr/bin/python而不是您想要使用的。