【问题标题】:django-admin startproject results in "ModuleNotFoundError: No module named 'config'"django-admin startproject 导致“ModuleNotFoundError: No module named 'config'”
【发布时间】:2018-06-13 11:26:17
【问题描述】:

我的设置是: - 运行 pyenv 的 Mac OS 安装了 homebrew。
- python 3.6.5 虚拟环境 - pip install Django==2.0.6

这是我发出的命令和输出。我在搜索此问题时找到的唯一答案假定现有 django 项目和不正确的配置。我无法达到创建项目的目的。

$ django-admin startproject justatestproj
Traceback (most recent call last):
  File "/Users/rsquire/.pyenv/versions/forever7pi/bin/django-admin", line 11, in <module>
    sys.exit(execute_from_command_line())
  File "/Users/rsquire/.pyenv/versions/3.6.5/envs/forever7pi/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/Users/rsquire/.pyenv/versions/3.6.5/envs/forever7pi/lib/python3.6/site-packages/django/core/management/__init__.py", line 317, in execute
    settings.INSTALLED_APPS
  File "/Users/rsquire/.pyenv/versions/3.6.5/envs/forever7pi/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
    self._setup(name)
  File "/Users/rsquire/.pyenv/versions/3.6.5/envs/forever7pi/lib/python3.6/site-packages/django/conf/__init__.py", line 43, in _setup
    self._wrapped = Settings(settings_module)
  File "/Users/rsquire/.pyenv/versions/3.6.5/envs/forever7pi/lib/python3.6/site-packages/django/conf/__init__.py", line 106, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/Users/rsquire/.pyenv/versions/3.6.5/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'

顺便说一句,我在尝试时遇到了同样的错误:

python -m django --version

但是,以下工作:

$ python
Python 3.6.5 (default, Apr 26 2018, 11:45:15)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> print(django.get_version())
2.0.6

非常感谢任何建议!

【问题讨论】:

  • 你当前的工作目录是空的吗?
  • 不,不是。我错误地认为,运行:'django-admin startproject projectname'会在我的当前目录中创建一个名为'projectname'的目录。
  • 我刚刚创建了一个子目录,并在新的空目录中尝试了相同的命令,得到了相同的结果。
  • 是的,它应该创建一个子目录。我想弄清楚它是否会拾取它不应该拾取的任何其他文件。检查环境变量DJANGO_SETTINGS_MODULE是否设置,如果设置则取消设置。
  • 非常感谢! DJANGO_SETTINGS_MODULE 是问题所在。现在我看到了值,错误消息完全有意义。

标签: python django


【解决方案1】:

检查环境变量DJANGO_SETTINGS_MODULE是否设置,如果设置则取消设置。例如。在 bash 中

$ unset DJANGO_SETTINGS_MODULE

【讨论】:

  • 这对我不起作用,我仍然得到ModuleNotFoundError
【解决方案2】:

对于 Windows 用户,请在命令行上尝试:

set DJANGO_SETTINGS_MODULE=

【讨论】:

    猜你喜欢
    • 2023-02-02
    • 1970-01-01
    • 2021-03-13
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-27
    相关资源
    最近更新 更多