Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python脚本打包模块_Python_Postgresql_Packaging_Psycopg2 - Fatal编程技术网

如何使用python脚本打包模块

如何使用python脚本打包模块,python,postgresql,packaging,psycopg2,Python,Postgresql,Packaging,Psycopg2,我刚刚编写了一个python脚本来修复一些数据库问题,它使用了psycopg2模块。出于某种原因,需要(在服务器上)运行它的人声称他们无法在服务器计算机上安装psycopg2。。。是否有一种方法可以将该模块打包到脚本中,这样就不必安装psycopg2了?类似于在Java中将lib文件夹添加到类路径的东西 Thx提前, Andre至于无法安装psycopg2,我确信这与关于谁可以在数据库服务器上拥有root访问权限的安全策略有关。如果您找不到具有必要权限的人,有两种方法可以剥除此特定猫的皮肤: 1

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

Thx提前,
Andre

至于无法安装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
....

创建一个目录,将脚本放入其中

将cd放入该目录,然后运行:

$ easy_install -Z --prefix . psycopg2
这将导致python模块的副本位于同一目录中


压缩所有内容并发送整个内容。

如果整个模块都是用Python编写的,并且没有额外的依赖项,您应该可以将其放在同一个文件夹中。服务器运行的是什么操作系统?它和你机器上的操作系统一样吗?服务器在运行CentOS,我在mac上。@piro lol,这就是我们最后要做的:Pgreat!如果您提供一个补丁,我将能够在我的许多项目中使用它!:D