6

我正在使用 py2app/setuptools 构建一个应用程序,所以一旦它创建了应用程序包,我想对 dist 文件夹执行一些操作,例如创建一个安装程序/上传它。

有办法吗?我找到了一些安装后解决方案,但没有构建后

或者,我可以从我自己的脚本中调用“python setup.py py2app”并执行此操作,但如果可以在 setup.py 中完成会更好

4

3 回答 3

4

昨天回答了一个关于子类化 distutils.core.Command的类似问题。

它的核心在于,通过这样做,您可以精确控制准备过程的每个阶段的行为,并能够创建自己的命令,几乎可以做任何您能想到的事情。

请看看那个回复,因为我认为它会帮助你。

于 2009-11-12T03:59:39.113 回答
0

使用 setuptools 或 distutils 可能有一些方法可以做到这一点,但它们很可能是相当老套的。如果您想做这样的事情,我强烈建议您使用以下工具之一:

摊铺机可能是最容易移动的,因为您可能能够使用所有现有的 setup.py 文件。

于 2009-09-14T14:02:15.950 回答
0

你能澄清一下你想要做什么吗?

对 dist 文件夹采取一些措施,例如创建安装程序/上传它。

当您说创建安装程序时,您的意思是为软件包构建发行版吗?当你说上传时,你的意思是上传到pypi吗?或者别的地方?

我找到了一些安装后解决方案,但没有构建后

这些是 py2app 钩子/回调吗?

python setup.py py2app

这不是 distutils 如何使用的约定。通常是python setup.py install

回答:

py2app 目标是一个 dist 文件夹,我想使用我的安装脚本打包并上传到我的网站

编辑:

因此,您创建了一个使用 distutils 和 setup.py 的包。

当您运行 setup.py 时,它会为此文件创建发行版,然后将它们放在 /dist 文件夹中。

现在您要将构建的文件上传到您的网站。

为此,您需要一个不同的工具。织物之类的东西。

您可以使用 fabric 创建一个脚本来执行构建命令,然后将构建的文件上传到您的服务器。

于 2009-09-24T15:59:03.377 回答