django.core.validators 不是包

django.core.validators is not a package

我已经为这个问题苦苦挣扎了几天,但仍然不明白为什么会这样。 我正在尝试至少通过 manage.py 访问 shell 或执行迁移。 (django 1.9.8, python 3.5.2)

  Traceback (most recent call last):
    File "gris/gris/manage.py", line 14, in <module>
      execute_from_command_line(sys.argv)
    File "/home/user/myenv/lib/python3.5/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
      utility.execute()
    File "/home/user/myenv/lib/python3.5/site-packages/django/core/management/__init__.py", line 345, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/home/user/myenv/lib/python3.5/site-packages/django/core/management/__init__.py", line 195, in fetch_command
      klass = load_command_class(app_name, subcommand)
    File "/home/user/myenv/lib/python3.5/site-packages/django/core/management/__init__.py", line 39, in load_command_class
      module = import_module('%s.management.commands.%s' % (app_name, name))
    File "/home/user/Python-3.5.2/Lib/importlib/__init__.py", line 126, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load
    File "<frozen importlib._bootstrap>", line 944, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load
    File "<frozen importlib._bootstrap>", line 944, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load
    File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  ImportError: No module named 'django.core.validators.management'; 'django.core.validators' is not a package

我正在尝试从虚拟环境中 运行 脚本。奇怪的是:在 MacOS 机器上一切正常,PyCharm 能够 运行 服务器。

到目前为止我尝试了什么:

  1. 确保我使用的是正确版本的 python 和 django。
  2. 从新创建的项目中取出 manage.py 并替换
  3. 为 'django.core.validators'
  4. 搜索文件系统
  5. 已下载 Python 个源代码,在本地编译它们并创建新的虚拟环境
  6. 试过运行没有虚拟环境
  7. 尝试了不同的 django(1.9.0, 1.9.6, 1.9.5) 和 python(3.4, 3.5.2) 版本

我运行不知道是什么原因造成的。 Django.core.validators 不是一个包,它是一个 .py 文件,显然没有试图以不同方式访问的代码。

任何ideas/suggestions?

我的项目结构:

根据 Django documentation and indeed the source code django.core.validators 是一个模块,不包含 management 属性。

如果 django.core.validators 在您的 INSTALLED_APPS 设置中,则可能会出现该错误。

如果它在您的 INSTALLED_APPS 设置中,那么它不应该存在,因为它不是应用程序。删除它。