我有一个名为“example”的库,该库正在安装到我的全局site-packages目录中。但是,我希望能够安装两个版本,一个用于生产版本,一个用于测试版本(我有一个Web应用程序,而其他东西也都以这种方式进行了版本化)。
有没有一种方法可以指定,例如“python setup.py stage”,它不仅可以将其他鸡蛋安装到站点程序包中,还可以将模块从“example”重命名为“example_stage”或类似名称?
如果distutils无法做到这一点,是否还有其他工具可以呢?
最佳答案
当然,您可以使用新命令扩展distutils。在您的distutil配置文件中,添加:
[global]
command-packages=foo.bar
这可以是
distutils.cfg
包本身中的distutils
,您的主目录中的..pydistutils.cfg
(在Windows中没有前导点)或当前目录中的setup.cfg
中。然后,在Python的site-packages目录中需要一个foo.bar软件包。
然后在该软件包中添加实现新的所需命令的类,例如
stage
,将distutils.cmd子类化-这些文档很薄弱,但是有很多示例,因为所有现有distutils命令也是以这种方式构建的。关于python - 自定义distutils命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1710839/