制作私有的,独立的python环境的最佳方法是什么?

18 python virtualenv

我想创建一个私有的,自包含的Python环境,它不链接回系统库(virtualenv的方式),还包括自己的Python包标准C/C++库版本,这些库只是这些库的包装器(例如PIL和libjpeg).

我见过商业应用程序将整个运行时分发到一个目录中,所以我知道它可以完成.

问题是,是否有一个工具可以让这很容易做到?Virtualenv几乎让我在那里,尤其是.使用--no-site-packages和--relocatable标志,但它没有解决标准"C"库的问题.我希望能够构建一个PIL,例如,使用捆绑的私有版本的libjpeg和libpng

有什么建议?

die*_*dha 5

听起来你真正想要的是将特定的python安装和脚本捆绑到可分发的包中.您可以执行以下操作:

  • 下载,编译并将python安装到项目目录中(即.python-toolchain)
  • 创建一个前缀脚本(工具链),将采取一个相对路径和更新PATH,PYTHONPATH,LD_LIBRARY_PATH动态.
#!/bin/sh

# If your clever you can determine install directory dynamically
prefix='install directory'
toolchain=$prefix/python-toolchain
export PATH=$toolchain/bin:$prefix/app/bin:$PATH
export LD_LIBRARY_PATH=$toolchain/lib:$LD_LIBRARY_PATH
export PYTHONPATH=$prefix/app/lib:$PYTHONPATH
exec $*
  • 您的应用脚本中的神奇Cookie可能如下所示:
#!.../install directory/toolchain python

print "Hello World!"
  • 您现在应该能够分发这样的目录:
    • package/
      • python-toolchain/
      • app/


mar*_*nas 1

尝试 cx_Freeze 或 py2exe。它们用于打包 Python 应用程序以使其可重新分发,并包含它所依赖的所有包/库。