Python setuptools使用'脚本' setup.py中的关键字

时间:2017-07-15 03:07:09

标签: python python-2.7 setuptools

我试图了解python包装如何使用setuptools

setup()函数的一个参数是脚本。 文档没有指定该参数的用途。任何帮助都会很棒!! 以下是使用脚本的示例代码。

from setuptools import setup, find_packages
setup(
    name="HelloWorld",
    version="0.1",
    packages=find_packages(),
    scripts=['say_hello.py'],

    # Project uses reStructuredText, so ensure that the docutils get
    # installed or upgraded on the target machine
    install_requires=['docutils>=0.3'],

    package_data={
        # If any package contains *.txt or *.rst files, include them:
        '': ['*.txt', '*.rst'],
        # And include any *.msg files found in the 'hello' package, too:
        'hello': ['*.msg'],
    },

    # metadata for upload to PyPI
    author="Me",
    author_email="me@example.com",
    description="This is an Example Package",
    license="PSF",
    keywords="hello world example examples",
    url="http://example.com/HelloWorld/",   # project home page, if any

    # could also include long_description, download_url, classifiers, etc.
)

1 个答案:

答案 0 :(得分:7)

它主要用于定义您将在包中使用的其他脚本。以下是参考链接的摘录:

#!/usr/bin/env python
import funniest print funniest.joke() 

然后我们可以在setup()中声明脚本:

setup(
    ...
    scripts=['bin/funniest-joke'],
    ... 
    ) 
  

当我们安装软件包时,setuptools会将脚本复制到PATH并使其可供一般使用。   这具有可概括性的优点   非python脚本,以及:最有趣的笑话可能是一个shell脚本,或者   完全不同的东西。

参考:http://python-packaging.readthedocs.io/en/latest/command-line-scripts.html#the-scripts-keyword-argument