データベースの問題を修正するためにPythonスクリプトを作成したところ、psycopg2モジュールが使用されています。何らかの理由で(サーバー上で)それを実行する必要がある人は、サーバーマシンにpsycopg2をインストールできないと主張しています...スクリプト内にそのモジュールをパッケージ化して、インストールしないようにする方法はありますか? psycopg2をインストールする必要がありますか?Javaのクラスパスにlibフォルダを追加するのと似ていますか?
事前にThx、アンドレ
データベースの問題を修正するためにPythonスクリプトを作成したところ、psycopg2モジュールが使用されています。何らかの理由で(サーバー上で)それを実行する必要がある人は、サーバーマシンにpsycopg2をインストールできないと主張しています...スクリプト内にそのモジュールをパッケージ化して、インストールしないようにする方法はありますか? psycopg2をインストールする必要がありますか?Javaのクラスパスにlibフォルダを追加するのと似ていますか?
事前にThx、アンドレ
ディレクトリを作成し、そこにスクリプトを配置します。
そのディレクトリにcdして、次のコマンドを実行します。
$ easy_install -Z --prefix . psycopg2
これにより、同じディレクトリにpythonモジュールのコピーが作成されます。
すべてを圧縮して、すべてを送信します。
psycopg2をインストールできないということは、データベースサーバーにrootアクセスできるユーザーに関するセキュリティポリシーに関係していると思います。必要な権限を持つ人が見つからない場合は、この特定の猫の皮を剥ぐ方法が2つあります。
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
....