如何直接运行Python蛋文件而无需安装?
可以像运行Java的jar文件那样直接运行Python的egg文件吗?
比如,在Java中你可能会这样做:
$ java -jar jar-file
4 个回答
6
比如说,如果你想要导入一个叫做suds的模块,而这个模块是以.egg文件的形式提供的:
egg_path='/home/shahid/suds_2.4.egg'
sys.path.append(egg_path)
import suds
#... rest of code
16
从Python 2.6开始,你可以直接用 python some.egg
来运行一个包含 __main__
模块的文件。
如果你使用的是更早版本的Python,可以用 PYTHONPATH=some.egg python -m somemodule
来运行这个egg里的 somemodule
模块,作为主模块来执行。(注意:如果你是在Windows系统上,需要先单独执行 SET PYTHONPATH=some.egg
。)
18
一个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