【问题标题】:How to fix error trying to migrate manage.py如何修复尝试迁移 manage.py 的错误
【发布时间】:2019-08-13 15:06:45
【问题描述】:

我是 python 的初学者,所以我经常看教程。我现在正在看的 Django 框架教程最终有一个步骤,我必须运行命令

python manage.py migrate

我收到了错误

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer 
is required; you have 0.9.3.    

我知道这个错误还有其他答案,但没有一个对我有用。

有人解决了吗?

【问题讨论】:

  • 你想使用 virtualenv 只是为了避免这种错误。
  • 如错误所说,您需要安装mysqlclient 1.3.13或更高版本。说其他答案都没有帮助,这不足以让我们为您提供帮助。您尝试了哪些答案,发生了什么?你用的是什么操作系统,python版本和Django版本?

标签: python mysql django database


【解决方案1】:

您必须为 Django 升级 mysqlclient。这样做:

pip install [package_name] --upgrade

如果你有虚拟环境,首先你必须激活它。然后运行这行代码。建议使用 venv 然后将您的包安装到其中以便更好地管理您的项目。

【讨论】:

    【解决方案2】:

    你必须像这样为 Django 安装 pymysql。

    pip install pymysql
    

    或者(如果你是python3)

    pip3 install pymysql --upgrade
    

    如果你在 venv,首先你必须激活它。

    【讨论】:

    • 这是我输入 pip install pymysql --upgrade (py1) C:\Projects\djangoproject>pip3 install pymysql --upgrade Requirement already up-to-date: pymysql in c:\users\denze\envs\py1\lib\site-packages (0.9.3) 时得到的结果,它说它在 0.9.3 上已经是最新的了。另外,我认为虚拟环境已经激活(它被称为 py1)。
    • Django 没有正式支持 pymysql,所以我建议你使用 mysqlclient,除非你有充分的理由使用 pymysql。激活虚拟环境后,只需使用pythonpip 而不是python3pip3
    【解决方案3】:

    所有其他答案都在告诉您要安装什么,以帮助避免将来出现此类错误,您应该使用虚拟环境。

    Virtualenv 将根据每个项目隔离您的 Python/Django 设置。这意味着您对一个项目所做的任何更改都不会影响您正在开发的任何其他项目。

    $ mkdir yourdirname
    $ cd yourdirname
    

    然后就可以使用了

    $ python3 -m venv whateveryouwannanameyourvenv
    

    最后:

    C:\Users\Name\yourdirname> myvenv\Scripts\activate
    

    您可以从那里运行pip install mysql,并且可以为每个项目设置不同的环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 2021-09-23
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      相关资源
      最近更新 更多