我曾经用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
可用。
我该怎么办呢?如何指定新命令?
答案 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,则可以正常工作。