2011-01-31 85 views
2

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

Thx提前, 安德烈

+0

如果整个模块是用Python编写的,并且没有额外的依赖关系,您应该可以将它放在同一个文件夹中。 – 2011-01-31 20:18:08

回答

1

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

cd进入这个目录,然后运行:

$ easy_install -Z --prefix . psycopg2 

应该导致在相同目录下的Python模块的副本。

将所有东西都拉起来,然后把所有东西都发送出去。

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 
.... 
相关问题