对于#4,最接近使用应用程序的jar文件启动Java的是Python 2.6中的一项新功能,即可执行zip文件和目录。
python myapp.zip
其中myapp.zip是一个包含__main__.py
文件的zip 文件,该文件作为要执行的脚本文件执行。您的程序包依赖性也可以包含在文件中:
__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__'
在应用程序中检查该命令行是否可用)。
Egg文件只是zip文件,因此您可以__main__.py
使用zip工具将其添加到您的鸡蛋中,并使其在python 2.6中可执行,然后像python myapp.egg
设置PYTHONPATH环境变量的上述方法一样运行它。
有关可执行zip文件的更多信息,包括如何使它们通过shebang直接可执行,可以在Michael Foord的有关该主题的博客文章中找到。