如何使用我的python脚本打包模块

时间:2011-01-31 20:16:49

标签: python postgresql packaging psycopg2

我刚刚编写了一个python脚本来修复一些数据库问题,它使用了psycopg2模块。由于某种原因,需要运行它的人(在服务器上)声称他们无法在他们的服务器机器上安装psycopg2 ...有没有办法我可以在我的脚本中打包该模块,这样他们就不会必须安装psycopg2?类似于在Java中将lib文件夹添加到类路径?

提前, 安德烈

2 个答案:

答案 0 :(得分:1)

制作目录,将脚本放入其中。

进入该目录,然后运行:

$ easy_install -Z --prefix . psycopg2

这应该导致同一目录中的python模块的副本。

将所有内容拉上并将整个内容发送出去。

答案 1 :(得分:0)

至于无法安装psycopg2,我确信它与有关谁可以在数据库服务器上具有root访问权限的安全策略有关。如果找不到具有必要权限的人,可以通过两种方法为这个特定的猫设置外观:

1)您可以使用py2exe构建一个exe,这样您就知道脚本的所有依赖项都存在且可用。此外,这将允许您逃避处理任何python不兼容性。你没有提到你的python版本(2.5,2.6,2.7,3.1?),也没有提到服务器上的版本。

2)或者你可以将psycopg2模块放入它自己的目录(c:\ mypymods)并在导入之前添加到sys.path的路径。

import sys
sys.path = sys.path.append("c:/mypymods")
import psycopg2
....