2009-09-14 32 views
6

我正在使用py2app/setuptools构建应用程序,因此一旦创建应用程序包,我想对dist文件夹执行一些操作,例如创建一个安装程序/上传它。如何使用setuptools/distutils触发后构建

有没有办法?我发现了一些安装后的解决方案,但没有构建后

或者我可以从我自己的脚本中调用'python setup.py py2app'并且执行该操作,但是如果可以在setup.py中执行它会更好

回答

4

I responded to a similar question yesterday关于子类别distutils.core.Command

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

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

0

有可能使用setuptools或distutils来做到这一点,但它们很可能非常黑客。我强烈建议使用以下工具之一,如果你想要做这样的事情:

摊铺机可能移动到你将可能是最简单的能够使用所有现有的setup.py文件。

0

你能说清楚你想要做什么吗?

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

当你说创建一个安装程序,你的意思是建立一个包的分布? 当你说上传,你的意思是上传到pypi?或者别的地方?

我已经发现了一些安装后的解决方案,但没有生成后

难道这些py2app钩/回调?

蟒蛇setup.py py2app

这不是多么的distutils使用的惯例。通常是python setup.py install

答:

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

编辑:

所以,你创建了一个通过setup.py使用distutils的软件包。

当您运行setup.py时,它会为该文件创建分发并将它们放在/ dist文件夹中。

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

要做到这一点,您需要一个不同的工具。类似fabric

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

+0

py2app目标是一个dist文件夹,我想用我的安装脚本打包并上传到我的网站 – 2009-09-24 16:44:24

+0

我更新了我的答案。 – 2009-09-24 20:25:58