导入模块

时间:2012-05-20 04:59:49

标签: python import

我正在使用virtualenv。 (如果重要,请提及) 我的目标是将TT.TruthTable导入测试。 我的预感是使用from lab import TT,因为该语句反映了我正在进行的类似项目/设置中的一个。可能还有其他不妥之处。

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


>>> cat TT.py

    class TruthTable...

3 个答案:

答案 0 :(得分:1)

然后应将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 

答案 1 :(得分:0)

只要lab03在您的路径上,那听起来就不错了。这可以通过以下方式完成:

a)从lab03/python test/tests.py),

执行脚本

b)在执行程序之前将目录添加到PYTHONPATH(如何执行此操作取决于您的操作系统)。

c)在致电PYTHONPATH之前将目录添加到from... import...。您可以通过将lab03目录附加到sys.path

来执行此操作

我已经做了所有3,并且更喜欢(c)然后(a)然后(b)但YMMV。

答案 2 :(得分:0)

您是否尝试使用nose之类的测试套件?它可以为您完成所有这些工作,并为您提供一些简单的选项,供您进行测试。另外,您可以使用nosetests从主项目目录中调用它,并立即获得反馈。