У меня есть файл setup.py, который включает в себя одну точку входа, определенную следующим образом:
entry_points={
"console_scripts": [
"manage = uk_improv_guide.manage:main"]
},
Когда я просматриваю сценарий, созданный в результате выполнения этого, я получаю следующее:
root@d1a7edb637a4:/src/uk_improv_guide# cat /usr/local/bin/manage
#!/usr/local/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'uk-improv-guide','console_scripts','manage'
__requires__ = 'uk-improv-guide'
import re
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('uk-improv-guide', 'console_scripts', 'manage')()
)
root@d1a7edb637a4:/src/uk_improv_guide#
Этот скрипт не запустит приложение, потому что имя модуля неверно.На 2-й строке то, что раньше было «uk_improv_guide», было преобразовано в «uk -impv-guide».Все мои подчеркивания теперь являются черточками, которые, к сожалению, не являются правильным модулем.
Есть ли способ остановить это поведение?Почему у нас даже такое поведение в setuptools?