2012-05-20 81 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中调用它,并立即获得反馈。