Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入错误:无法导入设置。。。没有名为设置的模块?_Python_Django - Fatal编程技术网

Python 导入错误:无法导入设置。。。没有名为设置的模块?

Python 导入错误:无法导入设置。。。没有名为设置的模块?,python,django,Python,Django,我正在使用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 settin

我正在使用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和部分回溯:

['/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中。

我仍然不确定为什么它最初工作了一个多月,然后突然中断,似乎没有任何原因,但在谷歌搜索了几个小时后,我终于在这里找到了答案:

最后一个选项,如果manage.py和settings.py位于同一位置 位置,将环境变量DJANGO_SETTINGS_MODULE更改为 设置而不是myProject.settings,或者使用运行python manage.py --设置=设置参数

我可以通过替换

from django.core.management import setup_environ
import settings

setup_environ(settings)


你想完成什么?能否验证django.conf导入设置中的
是否有效?
import os

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'