如何直接运行Python egg文件而不安装它们?

Mar*_*vec 34 python egg

是否可以直接运行Python egg文件,因为您可以使用Java运行jar文件?

例如,使用Java,您可能会遇到以下情况:

$ java -jar jar-file
Run Code Online (Sandbox Code Playgroud)

mon*_*kut 17

一个蟒蛇蛋是一个"单文件可导入分发格式".这通常是一个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
Run Code Online (Sandbox Code Playgroud)


PJ *_*Eby 15

从Python 2.6开始,您可以使用python some.egg它,如果它包含一个名为的模块,它将被执行__main__.

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


小智 5

例如,如果要导入suds模块,该模块可用作.egg文件:

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

sys.path.append(egg_path)

import suds
#... rest of code
Run Code Online (Sandbox Code Playgroud)

  • @Mark在哪里说的?问题是"如何直接运行Python egg文件而不安装它们?" 这个答案是有效的. (4认同)
  • @Mark 从命令行运行是您对问题所问内容的解释。当问题明确询问“如何直接运行 Python Egg 文件而不安装它们?”时,不需要解释。 (2认同)