【发布时间】:2018-05-21 21:59:40
【问题描述】:
我正在使用 Django 1.4 和 Python 2.7。
我以前遇到过这个问题,但是可以通过使用以下代码将父目录添加到 sys.path 来解决它:
import sys
def rtrim(s, sep):
return sep.join(s.split(sep)[0:-1])
sys.path.insert(0, rtrim(sys.path[0], '/'))
from django.core.management import setup_environ
import settings
setup_environ(settings)
今天,它似乎不知从何而来,再次抬起了丑陋的脑袋。目录结构如下:
Ingest/
settings.py
ingest/ (current working directory)
test.py
这里是 sys.path 和 Traceback 的一部分:
['/mnt/c/Users/Travis/Documents/GitHub/{redacted}/Ingest', '/mnt/c/Users/Travis/Documents/GitHub/{redacted}/Ingest/ingest', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 95, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'Ingest.settings' (Is it on sys.path?): No module named settings
如您所见,父目录在 sys.path 中。
【问题讨论】:
-
你想完成什么?你能验证
from django.conf import settings是否有效吗?