2012-07-26 63 views
0

我寫了大約7,8年前的一些Python程序,我從未觸及它們,儘管它們仍然在我公司的大量使用中。如何讓Python找到這個模塊?

我們已經轉移到一臺新的服務器上了,我試圖設置這個環境。我創建了所有的代碼,但顯然我有一些路徑問題,我不記得如何解決。至少6年我沒有寫任何Python。

在這個節目我試圖執行的頂部,我有這樣的:

from mycompany.initializer import Configurator 

,我從一個目錄中這個程序叫做:

/usr/code/myapp/migrate 

的「myCompany的」 Python模塊位於:

/usr/code/mycompany 

,我需要在我的用戶帳戶導出什麼路徑或其它變量,以便以上程序可以找到合適的Python模塊?

回答

2

您可以手動添加路徑(如Kasapo顯示)。雖然我認爲如果你設法正確地安裝模塊以便它成爲python搜索路徑的一部分,它會在python上更好。一種方法是使用PYTHONPATH(即:在shell啓動時導出PYTHONPATH以包含'/ usr/code')。

http://docs.python.org/using/cmdline.html

+0

+1以正確安裝模塊。如果它充分包裝,遷移到新的服務器應該是微不足道的。 – Lenna 2012-07-26 21:53:00

+0

對於「pythonically preferred」這個短語來說+1 ......好吧,主要是爲了pythonic解決方案,而且還有短語 – Kasapo 2012-07-26 21:57:06

2

您應該能夠到該目錄添加到系統路徑:

import sys 
sys.path.append('/usr/code/') 

而且,不知道這是否在Python中的任何一點變化,但你應該在「myCompany的」目錄有__init__.py(和子目錄中的任何模塊組件/子模塊...),以便使其成爲可導入的模塊。

+1

如果你把'''左右__init __。py'它將覆蓋加粗格式:) – Lenna 2012-07-26 21:48:45

+0

怪異,我甚至不知道這東西是如何加粗。謝謝你的提示! – Kasapo 2012-07-26 21:50:49

+1

只是想我還會提到,通常大多數路徑修改(包括sys.path.append和其他)都放在site.py中,通常位於/usr/lib/python2.7/site.py。 – Kupiakos 2012-07-26 22:52:44