是否可以直接运行Python egg文件,因为您可以使用Java运行jar文件?
例如,使用Java可能会出现类似的内容:
$ java -jar jar-file
答案 0 :(得分:17)
python egg是“单文件可导入的分发格式”。这通常是一个python包。
只要您知道它的名字,就可以在鸡蛋中导入包裹。
您可以使用“-m”选项和包名执行包。
然而,python包在执行时通常不会执行任何操作,并且您可能会收到错误。 -c选项可用于运行代码。 (有关命令行选项的详细信息,请参阅http://docs.python.org/using/cmdline.html)
> python -m sphinx
sphinx is a package and cannot be directly executed
> python -c "import <package in an egg>; <function>();"
> python -c "import sphinx; print sphinx.package_dir"
C:\Python26\lib\site-packages\sphinx-0.6.1-py2.6.egg\sphinx
答案 1 :(得分:14)
从Python 2.6开始,您可以使用python some.egg
,如果它包含名为__main__
的模块,它将被执行。
对于早期版本的Python,您可以使用PYTHONPATH=some.egg python -m some module
,并且egg中的somemodule
将作为主模块运行。 (注意:如果您使用的是Windows,则需要单独执行SET PYTHONPATH=some.egg
。)
答案 2 :(得分:5)
例如,如果要导入suds模块,该模块可用作.egg文件:
egg_path='/home/shahid/suds_2.4.egg'
sys.path.append(egg_path)
import suds
#... rest of code
答案 3 :(得分:0)
Python Egg文件直接执行步骤
假设您有鸡蛋文件和驱动程序文件通过以下命令运行。
PYTHONPATH=eggfilename.egg python driverfile.py
以上命令没有安装带有python代码的egg文件。