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.
)
これは主に、パッケージで使用する追加のスクリプトを定義するために使用されます。参照リンクの抜粋は次のとおりです。
#!/usr/bin/env python
import funniest print funniest.joke()
次に、setup()で次のようにスクリプトを宣言できます。
setup(
...
scripts=['bin/funniest-joke'],
...
)
パッケージをインストールすると、setuptoolsはスクリプトをPATHにコピーし、一般的に使用できるようにします。これには、Python以外のスクリプトにも一般化できるという利点があります。おかしなジョークは、シェルスクリプト、またはまったく異なるものである可能性があります。