2009-08-12 80 views

回答

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 
14

对于Python 2.6,你可以使用python some.egg,如果它包含一个名为__main__模块将被执行。

对于早期版本的Python,您可以使用PYTHONPATH=some.egg python -m some modulesomemodule来作为主要模块。 (注:如果您使用的是Windows,你需要做一个单独的SET PYTHONPATH=some.egg)。

4

例如,如果要导入皂液模块,该模块可作为.egg文件:

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

sys.path.append(egg_path) 

import suds 
#... rest of code 
+1

这个问题问如何从命令行运行 - 这是如何从python脚本内运行的 – Mark 2013-03-19 10:57:48

+3

@Mark它在哪里说的?问题“如何直接运行Python egg文件而不安装它们?”这个答案是有效的。 – Adham 2014-04-14 15:04:50

+0

@Adham - 问题中的Java示例来自命令行而非来自Java – Mark 2014-04-14 15:26:32

相关问题