2011-01-31 10 views
2

データベースの問題を修正するためのPythonスクリプトを書き、psycopg2モジュールを使用しました。何らかの理由で(サーバ上で)それを実行する必要がある人は、自分のサーバマシンにpsycopg2をインストールできないと主張しています...スクリプト内にそのモジュールをパッケージ化して、 psycopg2がインストールされている必要がありますか? Javaのクラスパスにlibフォルダを追加するのと同様の何か?事前にPythonスクリプトでモジュールをパッケージ化する方法

Thxを、 アンドレとして

+0

モジュール全体がPythonで書かれており、余分な依存関係がない場合は、それを同じフォルダに入れるだけでよいのです。 –

+0

サーバはどのOSで動作していますか?あなたのマシンのOSと同じですか? –

+0

サーバーはCentOSを実行しています。私はMac上にいます。 – hdx

答えて

1

ディレクトリを作成し、スクリプトを挿入します。そのディレクトリに

CD、実行します。

$ easy_install -Z --prefix . psycopg2 

を同じディレクトリにPythonのモジュールのコピーになる必要があること。

ジップアップして全体を送信します。

0

は、データベースサーバのrootアクセス権を持つことができるかについて、セキュリティポリシーに関連し、私は必ず、psycopg2をインストールできないことにします。あなたが必要な権限を持っている人がいない場合は、この特定の猫をスキンする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 
.... 
関連する問題