解决Django运行报错:Couldn't import Django. Are you sure it's installed and available on your environment**

今天在创建一个Django项目的时候,使用命令行,进入项目目录运行:

python manage.py runserver

然后报错

ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate
a virtual environment?

百度之后,很多解决方案,

  • 将django所在目录加载到系统环境变量中,原理可行,但是个人觉得不好,那这样就是全局django,要虚拟环境干嘛?
  • python pip install 命令安装django,个人感觉很容易引起包混乱
  • 含有很多说更新升级Django的,没解决问题,只说明问题不是在这里
  • 我就想,使用命令行进入项目根目录执行命令,这是全局的,用的也是全局的包,检查之后发现原来没有激活虚拟环境,运行命令应该进入虚拟环境中进行运行,就不会报错了。
    • 我使用的是conda虚拟环境,就是Anaconda自带的,在项目根目录运行如下命令
    • conda env list
    • 然后会有如下输出:
      # conda environments:
      #
      base                  *  D:\Anaconda
      mysite                   D:\Anaconda\envs\mysite
      utial                    D:\Anaconda\envs\utial
      zhaopin_spider           D:\Anaconda\envs\zhaopin_spider
      
      
    • (*)星号的意思是当前使用的环境(我的项目的虚拟环境是mysite),果然没有激活,然后运行如下命令:
      activate mysite
    • 这个时候命令行中你的项目目录前会出现一个括号,括号里是你的虚拟环境名
    • (mysite) D:\pyWorkspace\mysite>python manage.py runserver运行命令
    • 出现如下所示输出,就是已经启动了django服务器了
       Watching for file changes with StatReloader
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 17 unapplied migration(s). Your project may not work properly until you apply the      migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    May 04, 2019 - 08:47:28
    Django version 2.2, using settings 'mysite.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CTRL-BREAK.
    

总结

出现类似的缺少包的问题,而包明明已经导入的时候,我猜测就是环境,或者路径的问题,原理都是相通的,在谷歌百度问题的时候,也应该多思考,很多时候可以根据别人的解决方案获得灵感。要带着脑子去找解决问题。

参考博文:
https://blog.csdn.net/weixin_42292991/article/details/86520277
https://blog.csdn.net/virusll/article/details/79437755

你可能感兴趣的:(Python,Django,报错处理)