2012-05-20 311 views
0

我正在使用virtualenv。 (提及以防萬一) 我的目標是將TT.TruthTable導入測試。 我的預感是使用from lab import TT,因爲該聲明反映了我正在處理的類似項目/設置中的一個。會不會有其他不妥之處?導入模塊

lab03/ 
    lab/ 
     TT.py 
     __init__.py 
    test/ 
     tests.py 
     __init__.py 


>>> cat TT.py 

    class TruthTable... 

回答

1

Then lab03/(絕對路徑)應該添加到您的PYTHONPATH。僅僅使用virtualenv是不夠的,因爲它只在路徑中設置它自己的lib/python.x/site-packages。

您可以通過修改你的環境:export PYTHONPATH=$PYTHONPATH:/path/to/lab03

或者,你可以在代碼中添加:

import sys 
sys.path.append("/path/to/lab03") 
from lab import TT 
0

只要lab03在您的路上,這聽起來很好。這可以通過這樣做:

一)執行從lab03/python test/tests.py)腳本,

b)將目錄到PYTHONPATH(如何做到這一點取決於您的操作系統)執行程序之前。

c)在撥打from... import...之前,將目錄添加到您的PYTHONPATH。您可以通過將lab03目錄附加到您的sys.path來完成此操作。

我已經完成了所有3個,並且更喜歡(c)然後(a)然後(b)但是YMMV。

0

您是否嘗試過使用一個測試套件像nose?它可以爲你做所有事情,併爲你提供一些簡單的選項,用於測試。此外,您可以從主項目目錄nosetests中調用它,並立即獲得反饋。