你如何使用zinst.buildout的pyinstaller?

时间:2013-09-24 12:22:18

标签: python pyinstaller buildout

几乎有这个工作。我的buildout.cfg:

[buildout]
parts = deps py
develop =
  .
  lib/sdl-util/
  lib/nark/

[deps]
recipe = zc.recipe.egg:eggs
eggs =
  nose
  pysdl2
  pyinstaller

[py]
interpreter = py
recipe = zc.recipe.egg:script
eggs =
  zope.component
  tech
  nark
  sutils
  pysdl2
  pyinstaller

这会生成path / bin / py,当我运行./bin/py app.py时,我的应用程序会运行。大。

现在是什么?

如果我全局安装pyinstaller,并运行:

pyinstaller app.py

它会生成dist / app,但运行它会失败,因为在pyinstaller运行期间找不到我的buildout中的开发蛋。

如果我全局安装所有的鸡蛋(包括开发的鸡蛋),并运行pyinstaller,那么生成的二进制文件就可以完美运行......但是扩展的重点是你不必这样做。

基本上,如何将pyinstaller脚本的'buildout aware'副本安装到我的bin文件夹中?

我认为这与使用'recipe = zc.recipe.egg:scripts'有关,但是当您尝试从包中获取脚本时,buildout文档非常模糊。

我确定在安装了bin文件夹中的alembic和nosetests之前我已经看到了一个buildout,所以我确信这是可能的......不知怎的......

1 个答案:

答案 0 :(得分:0)

[py]  
recipe = zc.recipe.egg:script
eggs = ${buildout:eggs}
interpreter = py
dependent-scripts = true  <---- This.

然后您可以直接运行./bin/pyinstaller main.py。