Для # 4 наиболее близким к запуску java с файлом jar для вашего приложения является новая функция в Python 2.6, исполняемые zip-файлы и каталоги .
python myapp.zip
Где myapp.zip - это zip-файл, содержащий файл __main__.py
, который выполняется как файл сценария, который нужно выполнить. Ваши зависимости пакета также могут быть включены в файл:
__main__.py
mypackage/__init__.py
mypackage/someliblibfile.py
Вы также можете выполнить яйцо, но заклинание не так приятно:
# Bourn Shell and derivatives (Linux/OSX/Unix)
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 , можно найти в блоге Майкла Фоорда на эту тему .