35

是否可以像使用 Java 运行 jar 文件一样直接运行 Python Egg 文件?

例如,使用 Java,您可能会执行以下操作:

$ java -jar jar-file
4

4 回答 4

18

python egg是一种“单文件可导入分发格式”。这通常是一个 python 包。

只要您知道它的名称并且它在您的路径中,您就可以将包导入到 egg 中。

您可以使用“-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
于 2009-08-12T07:05:03.050 回答
16

从 Python 2.6 开始,您可以使用python some.egg并且如果它包含名为__main__.

对于早期版本的 Python,您可以使用PYTHONPATH=some.egg python -m some module,并且somemodule从 egg 将作为主模块运行。(注意:如果你在 Windows 上,你需要做一个单独的SET PYTHONPATH=some.egg.)

于 2010-05-24T16:08:31.717 回答
6

例如,如果您想导入 .egg 文件形式的 suds 模块:

egg_path='/home/shahid/suds_2.4.egg'

sys.path.append(egg_path)

import suds
#... rest of code
于 2013-03-19T10:37:48.210 回答
1

Python Egg file direct execution steps

Suppose if you have egg file and driver file to run through below command.

PYTHONPATH=eggfilename.egg python driverfile.py

above command for without install egg file with python code.

于 2018-05-03T07:49:21.670 回答