对于 #4,最接近使用应用程序的 jar 文件启动 java 的方法是 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__'
在你的应用程序中检查它以供命令行使用)。
Egg 文件只是 zip 文件,因此您可以__main__.py
使用 zip 工具将其添加到您的 egg 并使其在 python 2.6 中可执行并像python myapp.egg
上面设置 PYTHONPATH 环境变量的咒语一样运行它。
有关可执行 zip 文件的更多信息,包括如何使用shebang使它们直接可执行,可以在Michael Foord 的有关该主题的博客文章中找到。