代码之家  ›  专栏  ›  技术社区  ›  Anurag Uniyal

如何使用setuptools/distuils触发后期生成

  •  6
  • Anurag Uniyal  · 技术社区  · 16 年前

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

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

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

    3 回复  |  直到 16 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    responded to a similar question yesterday 关于子类化 distutils.core.command命令 .

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

    请看一下那个答复,因为我认为它会帮助你摆脱困境。

        2
  •  0
  •   Jason Baker    16 年前

    可能有一些方法可以使用安装工具或distutils来实现这一点,但它们可能非常黑客。如果您想这样做,我强烈建议您使用以下工具之一:

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

        3
  •  0
  •   Taras Mankovski    16 年前

    你能解释一下你想做什么吗?

    对dist文件夹执行一些操作,例如创建安装程序/上载它。

    当您说创建一个安装程序时,您的意思是为包构建一个分发版吗? 当你说上传,你是说上传到Pypi?还是别的地方?

    我找到了一些安装后解决方案,但没有后期生成

    这些是py2app挂钩/回调吗?

    python设置.py py2app

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

    答:

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

    编辑:

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

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

    现在您要将生成的文件上载到您的网站。

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

    可以使用fabric创建一个脚本,该脚本将执行build命令,然后将生成的文件上载到服务器。