(Пропустив часть командной строки, как это другая история, и только упором на котором fab.exe исходит от, как вы сделали меня любопытным.)
Это из setup.py , интересная деталь:
entry_points={
'console_scripts': [
'fab = fabric.main:main',
]
},
, который рассказывает, что на самом деле начинается.
Чтобы воспроизвести, вот почти пустой setup.py:
#!/usr/bin/env python
from setuptools import setup
setup(
name='consoletest',
version='1.1',
entry_points={
'console_scripts': [
'consoletest = consoletest.main:main',
]
},
)
Пожалуйста, создайте подкаталог consoletest
и поместить в него пустой __init__.py
(чтобы сказать, что это модуль) плюс main.py
со следующим содержанием:
def main():
print("hello")
затем выдать
python setup.py install
в корне, и если все будет хорошо, файл яйца будет создан в каталоге lib/site-packages python и в исполняемом файле consoletest
в директории Scripts. (Протестировано только под Windows/Python 2.7, поэтому вы не можете получить тот же результат.)
Теперь, если вы запустите consoletest
, он распечатает привет.
в Linux, если вы добавите 'shebang' (т.е.' #!/Usr/bin/env python') в первую строку и установите 'execute attrib' (' chmod + x script.py'), тогда вы можете запускать напрямую 'script.py' вместо' python script.py'. Вы даже можете удалить расширение '.py' – furas
Я подозревал, что и мне показалось, что я пробовал его на osx, но это не сработало ... Я попробую еще раз, когда на моем компьютере – deltaskelta
' shebang' должен быть первым line, он должен начинаться с '#!' ('#' = she, '!' = bang). И для этого нужно «исправить атрибут». OSX должен работать аналогично Linux. – furas