2

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

提前谢谢,安德烈

4

2 回答 2

1

建立一个目录,把你的脚本放进去。

cd 进入该目录,然后运行:

$ easy_install -Z --prefix . psycopg2

这应该会在同一目录中生成 python 模块的副本。

把它全部拉上拉链,然后把整个东西都寄出去。

于 2011-01-31T22:17:37.643 回答
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
....
于 2011-01-31T22:02:24.110 回答