为django项目设置PYTHONPATH的正确方法

时间:2016-03-31 00:34:35

标签: python django pythonpath

在我的文件django app tests.py中,我导入了另一个名为helpers的模块。 helperstests.py位于同一目录级别。当我运行./manage.py tests时,我收到此错误:

$ ./manage.py test
Creating test database for alias 'default'...
E
======================================================================
ERROR: api.tests (unittest.loader.ModuleImportFailure)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/case.py", line 577, in run
    testMethod()
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py", line 32, in testFailure
    raise exception
ImportError: Failed to import test module: api.tests
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py", line 312, in _find_tests
    module = self._get_module_from_name(name)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/unittest/loader.py", line 290, in _get_module_from_name
    __import__(name)
  File "/Users/bli1/Development/projects/cherngloong/cherngloong/api/tests.py", line 8, in <module>
    from helpers.APIHelpers import KeyGrabber
ImportError: No module named 'helpers'

这是我的项目结构:

enter image description here

基本上,tests.py无法找到helpers模块。我不确定在django项目中避免此问题的最佳/适当/标准方法是什么

1 个答案:

答案 0 :(得分:2)

试试这个:

api.helpers.APIHelpers import KeyGrabber
Django包中的

通常以应用名称开头。您也可以尝试relative imports