distutils.core.setup控制台脚本入口点?

时间:2012-12-22 10:22:58

标签: python python-3.x installation distutils

我曾经用setuptools.setup分发我的python程序。 但现在我想使用distutils.core.setup

使用setuptools我使用了与此类似的代码:

setup(
    name = "radish",
    version = "0.01.00",
    description = "Behaviour-Driven-Development tool for python",
    author = "Timo Furrer",
    author_email = "tuxtimo@gmail.com",
    url = "http://github.com/timofurrer/radish",
    packages = [ "radish", "radish/Writers" ],
    entry_points = { "console_scripts": [ "radish = radish.main:main", ] },
    package_data = { "radish": [ "*.md" ] }
    ...
)

我想对distutils做同样的事情 - 但没有entry_points可用。 我该怎么办呢?如何指定新命令?

2 个答案:

答案 0 :(得分:8)

你不能,而不是distutils。它不支持entry_points,这是一个仅限setuptools的功能。

使用setuptools代替;它支持Python 3。

答案 1 :(得分:2)

使用distutils,脚本只是文件,如下例所示:

#!/usr/bin/env python
from radish.main import main
main()

在您的设置脚本中,您使用scripts参数列出这些文件。

这在Unix上运行良好,如果人员/安装程序正确设置文件关联(不生成二进制包装,就像setuptools那样),它可以在Windows上运行。 Windows需要一个.py扩展名,并且在Unix上可以使用(对于许多丑陋的人来说也是如此)。

远非完美,但如果观众是开发人员,或者不使用Windows,则可以正常工作。