2011-01-31 83 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 
.... 
相關問題