2013-11-01 19 views
0

我使用py2app打包我的应用程序。关于我的应用程序的几个简要说明:py2app:我如何使用捆绑的Python解释器运行测试?

  • 它使用一个特殊的python可执行文件(即非系统python),py2app包含在该包中。
  • 我使用py2app配方功能从site-packages.zip中明确地排除了一些软件包。

在过去,我有时遇到了我的应用程序包问题,因为我忘记了将某些包从site-packages.zip中排除。一旦发现问题,这很容易解决,但我并没有很快发现它,因为问题的软件包主要是工作。该问题仅在测试发生在有问题的依赖性中的特定子模块的特殊情况后才显示出来。

为了避免将来出现这样的问题,我想运行一个测试套件,使用py2app包含在我的包中的相同的解释器。为此,我需要在应用程序启动时自动创建的适当环境设置(包括PYTHONPATHDYLD_LIBRARY_PATH等)。

仅仅使用./dist/MyBundle.app/Contents/MacOS/python来运行我的测试似乎没有办法。什么是推荐的方法来运行完全构建的应用程序包本身的测试?

+0

自从我使用py2app已经有一段时间了,但我记得包含一堆python环境的应用程序的info.plist。 –

+0

你用什么来运行测试?似乎你可以创建一个自定义打包版本的应用程序,调用测试入口点,而不是像往常一样启动你的应用程序...... –

+0

你是如何设法让py2app捆绑非系统可执行文件的?我试图实现这一点,没有成功:http://stackoverflow.com/questions/34845112/app-built-with-non-system-python-in-pyenv-not-runnable-on-other-machines – Pyderman

回答

1

您可以使用py2app 0.7中引入的--extra-scripts选项来包含第二个脚本,该脚本在应用程序捆绑包中启动测试并使用它来运行测试。

我同意有一种方法可以在应用程序环境中运行脚本,您可以在py2app的存储库中提出问题https://bitbucket.org/ronaldoussoren/py2app

+0

谢谢, @Ronald! --extra-scripts选项将用于我的目的。根据要求,我刚刚向py2app问题跟踪器添加了一个问题,以获得更通用的解决方案。 –

相关问题