bin: pyrunmain чтобы запустить модули в которых не сделано if __name__ == '__main__'
Например в ZODB есть ZODB.FileStorage.fsdump который в ZODB/setup.py поставлен как entry_points = """ [console_scripts] fsdump = ZODB.FileStorage.fsdump:main ... т.е. после сборки оно сгенерирует отдельный файл со следующим содержимым #!/usr/bin/python # EASY-INSTALL-ENTRY-SCRIPT: 'ZODB3==3.9.7','console_scripts','fsdump' __requires__ = 'ZODB3==3.9.7' import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point('ZODB3==3.9.7', 'console_scripts', 'fsdump')() ) т.е. программу можно будет запустить. Но это после сборки. А in-tree программу не запустить. Не уверен что добавление if __name__ == '__main__' примут в upstream из-за entrypoint'а. Мне зачастую удобно работать in-tree, поэтому добавляю простую утилиту для запуска таких программ.
Showing
bin/pyrunmain
0 → 100755
Please register or sign in to comment