web-dev-qa-db-ja.com

Python setuptools using'scripts 'キーワードinsetup.py

setuptools を使用してpythonパッケージングがどのように機能するかを理解しようとしています。

setup()関数の引数の1つは、scriptsです。ドキュメントには、その引数が何に使用されるかは指定されていません。どんな助けでも素晴らしいでしょう! scriptsが使用されているサンプルコードを次に示します。

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="[email protected]",
    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.
)
9
Will_of_fire

これは主に、パッケージで使用する追加のスクリプトを定義するために使用されます。参照リンクの抜粋は次のとおりです。

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

次に、setup()で次のようにスクリプトを宣言できます。

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

パッケージをインストールすると、setuptoolsはスクリプトをPATHにコピーし、一般的に使用できるようにします。これには、Python以外のスクリプトにも一般化できるという利点があります。おかしなジョークは、シェルスクリプト、またはまったく異なるものである可能性があります。

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

11
worker_bee