setup.py install
ビルド中の Python パッケージを実行するときに、生成されていないスクリプトを取得しようとしています。
distutils のドキュメントを読みましたが、これを達成する方法に関する明確な例が見つかりませんでした。
Mercurial は、以下をインポートすることでこれを部分的に行いinstall_scripts
ます。
from distutils.command.install_scripts import install_scripts
そして、hg
スクリプト内のいくつかのものを置き換えます。このhg
実行可能ファイルは、次のようなものを使用するデフォルトの動作をオーバーライドして使用されます。
#!/Users/alfredo/python/foo/bin/python
# EASY-INSTALL-SCRIPT: 'foo==0.0.1','foo'
__requires__ = 'foo==0.0.1'
import pkg_resources
pkg_resources.run_script('foo==0.0.1', 'foo')
pkg_resources を使用してパッケージをインポートするのではなく、使用しているスクリプトで終了しようとしています。foo
これが自動生成される理由はわかっていますが、それでも別のルートに進みたいと思っています。
これは、私が使用している基本 setup.py のコピーです。
import distribute_setup
distribute_setup.use_setuptools()
from setuptools import setup
tests_require = ['pytest']
setup(
name = "foo",
version = "0.0.1",
packages = ['_foo'],
scripts = ['foo'],
zip_safe = False,
package_data = {'': ['distribute_setup.py']},
author = "Alfredo Deza",
author_email = "alfredodeza [at] gmail [dot] com",
description = "",
long_description = """\
Foo
""",
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Topic :: Software Development :: Build Tools',
'Programming Language :: Python :: 2.5',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
],
license = "MIT",
keywords = "",
url = "",
)