如何打包我正在使用的python库我可以用我的应用程序分发它们并尽可能少依赖

时间:2008-12-01 16:40:11

标签: python linux deployment

如何打包我正在使用的python库我可以使用我的应用程序分发它们,并尽可能少依赖,也不要与我系统上已有的不同lib /版本冲突。

L.E。:对不起我忘了说明。我将在linux上这样做。我并不是指我的应用程序是一个可安装的文件,如deb / rpm等,但如何组织我的文件,例如我将使用cherrypy和sqlalchemy我会发送与我的应用程序,而不是用户通过自己安装所有依赖的痛苦。

4 个答案:

答案 0 :(得分:4)

您可以尝试freeze.py,有关详细信息,请参阅http://wiki.python.org/moin/Freeze

答案 1 :(得分:3)

尝试py2exe

答案 2 :(得分:2)

但是如果您使用列出的正确依赖项进行deb,则安装程序将为用户下载它们。这是最好的方式,因为它不是多余的。

也许你可以用你的deb和所有第三方deb和一个安装脚本制作一个tar或zip,只需按正确的顺序安装所有的deb。这样,如果用户已经有一些包,则不会再次安装。

答案 3 :(得分:2)

您可以让您的用户从启动脚本运行系统,并且该脚本可以提前修复pythonpath以将您的版本放在第一位。例如,如果您将CherryPy,SQLAlchemy等放在“外部”子目录中,您可以尝试:

# startproj.sh
script_path=`dirname $0`
export PYTHONPATH=${script_path}/external;${PYTHONPATH}
exec ${script_path}/projstartup.py