установите модуль Python как модуль и как скрипт
Скажем, я написал модуль foo.py
.
Я хочу, чтобы процесс установки скопировал foo.py
в prefix/lib/pythonX.Y/site-packages
, чтобы его можно было импортировать другими модулями, но также создать символическую ссылку с именем foo
(Не foo.py
) в prefix/bin/
, которая указывает на foo.py
.
Как можно сказать distutils
, чтобы сделать это?
1 ответ:
Это можно сделать, если использовать setuptools
entry_points
. Вот пример:Foo.py
def main(): print "Hello world"
Setup.py
from setuptools import setup setup( name="foo", version = "0.1", py_modules=['foo'], entry_points = { 'console_scripts': ['foo = foo:main'] } )
Пример использования, после установки модуля с помощью инструмента, такого как
pip
:$ foo Hello world $ python -c 'import foo; foo.main()' Hello world