Django 没有找到名为 'config' 的模块。

6

我使用Python 2编写了这些应用程序,现在正在使用Python 3。

我尝试过:

  1. 更改为新的virtualenv并重新安装要求
  2. pip install config -> 返回一个新的异常语法错误...
  3. pip install django-config

运行时: python3 manage.py runserver 我一直得到以下错误:

Traceback (most recent call last):
      File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
      File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
utility.execute()
      File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 308, in execute
settings.INSTALLED_APPS
      File "/usr/local/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
self._setup(name)
      File "/usr/local/lib/python3.6/site-packages/django/conf/__init__.py", line 41, in _setup
self._wrapped = Settings(settings_module)
      File "/usr/local/lib/python3.6/site-packages/django/conf/__init__.py", line 110, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
      File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
    ModuleNotFoundError: No module named 'config'
9个回答

5

我曾经遇到过同样的问题,要让它正常工作,我必须将DJANGO_SETTINGS_MODULE环境变量设置为指向我的settings.py文件的路径

export DJANGO_SETTINGS_MODULE=project_name.settings


2
我做了类似于@PetarP的事情:最初的回答。
INSTALLED_APPS = [
    # user-defined
    'blog.apps.BlogConfig',

    # default
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles', 
    # no 'django.contrib.sites'
]

您可以在/blog/apps.py中找到最初的回答:

from django.apps import AppConfig
class BlogConfig(AppConfig):
    name = 'blog'

1
创建模块应用程序后,使用python manage.py startapp test_app命令。接下来,您应该进入settings.py文件,并将应用程序注册到其中。请注意,不要删除任何HTML标签。
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',

    # Register your custom app here
    'test_app',
]

你应该阅读官方的 Django 教程,那里会有详细的解释。

0

将此行更改为:

django.config.urls

to:

django.conf.urls

0
在你的setting.py文件中,修改:
from config import db_host, db_database, db_password, db_username, db_port

致:

from .config import db_host, db_database, db_password, db_username, db_port

0

我在将一个工作正常的代码库重新安装到新机器上后遇到了同样的问题。结果发现是由于新机器上未设置PYTHONPATH导致的。


0
如果使用PyCharm,应将DJANGO_SETTINGS_MODULE变量设置为project_name.settings。这可以在“编辑配置”->“环境变量”中完成。请参见图片: DJANGO_SETTINGS_MODULE变量配置以避免错误

0

当我复制或克隆我的项目目录时,我收到了类似的错误。

ModuleNotFoundError: No module named ''

创建一个新的 venv 对我来说还不够。我必须先删除旧的,不确定为什么。

在这些命令后面跟着执行,它就像魔法一样奏效了。

pip install -r requirements.txt
python manage.py collectstatic

一般来说,尽量具体说明答案如何适用于原始问题。从您的帖子和原始帖子中出现的错误与您遇到的错误似乎不同,因此它们之间的关系不清楚。 - camba1
不要被额外的错误文本所困扰,它会误导你。看看实际的错误消息,它是原始消息中发布的最后一行。"ModuleNotFoundError: No module named '' 我也遇到了同样的错误,并提供了我发现解决问题的步骤。由于某种未知的原因,仅仅创建一个新的虚拟环境是不够的...只有在我从项目目录中删除了原始虚拟环境之后,我的代码才开始工作。 - TechBrad

0

我一直在遇到同样的错误

ModuleNotFoundError: No module named 'chat_room'

每次我创建一个新的虚拟环境并运行python -m django时,我都会收到相同的警告。 这个警告是因为我为我的旧应用程序设置了一些环境变量,其中包含chat_room module。因此,每当我的新虚拟环境使用我在.bash_profile中设置的环境变量时,它就会使用那些环境变量,而不是新的Django设置中的默认变量。 最后,在.bash_profile中摆脱这个环境变量export DJANGO_SETTINGS_MODULE=chat_room.settings之后,一切都正常了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接