Для №4 наиболее близким к запуску java с файлом jar для вашего приложения является новая функция Python 2.6, исполняемые zip-файлы и каталоги .
python myapp.zip
Где myapp.zip - это zip- __main__.py
архив, содержащий файл, который выполняется как исполняемый файл сценария. Зависимости вашего пакета также могут быть включены в файл:
__main__.py
mypackage/__init__.py
mypackage/someliblibfile.py
Также можно казнить яйцо, но заклинание не такое приятное:
PYTHONPATH=myapp.egg python -m myapp
rem Windows
set PYTHONPATH=myapp.egg
python -m myapp
Это помещает myapp.egg в путь Python и использует аргумент -m для запуска модуля. Ваш myapp.egg, скорее всего, будет выглядеть примерно так:
myapp/__init__.py
myapp/somelibfile.py
И python запустится __init__.py
(вы должны проверить это __file__=='__main__'
в своем приложении для использования в командной строке).
Файлы яиц - это просто zip-файлы, поэтому вы можете добавить __main__.py
в свое яйцо с помощью zip-инструмента и сделать его исполняемым в python 2.6 и запустить его, как python myapp.egg
вместо приведенного выше заклинания, где установлена переменная среды PYTHONPATH.
Более подробную информацию об исполняемых zip-файлах, в том числе о том, как сделать их непосредственно исполняемыми с помощью shebang, можно найти в сообщении блога Майкла Фурда по этому вопросу .