Я пытаюсь получить не сгенерированный скрипт, когда запускаю 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 = "",
)