【问题标题】:No module names django.core, but I can import django from the shell没有名为 django.core 的模块,但我可以从 shell 导入 django
【发布时间】:2014-07-08 18:44:07
【问题描述】:

当我在虚拟环境中运行 django 时,我得到 No module named 'django.core':

(proj)[jenia@li app]$ python manage.py runserver
    Traceback (most recent call last):
      File "manage.py", line 8, in <module>
        from django.core.management import execute_from_command_line
    ImportError: No module named 'django.core'

但是,当我运行 Python 解释器并导入 django 时,没有错误消息:

(proj)[jenia@li app]$ python
Python 3.4.1 (default, May 19 2014, 17:23:49) 
[GCC 4.9.0 20140507 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> 
>>> import django
>>> 

当我导入 django.core 时,它​​当然会失败。

我做错了什么?这可能与什么有关?

提前谢谢?

【问题讨论】:

  • 您是否已经尝试重新安装虚拟环境??
  • 包路径好像没有设置好
  • python shell 中django.__file__ 的输出是什么

标签: python django pip virtualenv


【解决方案1】:

我认为您根本没有安装 django,或者您在当前目录中有类似的调用文件夹或 py 文件。

你可以打印django.__path__,我敢打赌它会指向一些脚本,称为django.py或包文件夹django,这不是django。

你应该重命名它,所以import 会看起来更深,到 python-packages,real django 所在的位置。

【讨论】:

  • @sof_dff 这是一个非常普遍的问题,即使对于经验丰富的开发人员也是如此。很高兴它有帮助:)
猜你喜欢
  • 2010-09-23
  • 2023-01-20
  • 2020-04-15
  • 2014-12-25
  • 1970-01-01
  • 2010-10-25
  • 2017-03-13
  • 2011-11-14
  • 1970-01-01
相关资源
最近更新 更多