花了两天的时间卡在这个地方真的是欲哭无泪啊!

小白一个,做django专题,跟着影片学学学,结果在

python3 manage.py makemigrations

卡到一个不行........

它总是会出现以下的报错:

PS C:\Users\User\PycharmProjects\mysite> python3 manage.py makemigrations

Traceback (most recent call last):

File "C:\Users\User\PycharmProjects\mysite\manage.py", line 15, in

execute_from_command_line(sys.argv)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\core\management\__init__.py", line 442, in execute_from_command_line

utility.execute()

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\core\management\__init__.py", line 416, in execute

django.setup()

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\__init__.py", line 24, in setup

apps.populate(settings.INSTALLED_APPS)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\apps\registry.py", line 116, in populate

app_config.import_models()

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\apps\config.py", line 269, in import_models

self.models_module = import_module(models_module_name)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1008.0_x64__qbz5n2kfra8p0\Lib\imp

ortlib\__init__.py", line 126, in import_module

return _bootstrap._gcd_import(name[level:], package, level)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "", line 1206, in _gcd_import

File "", line 1178, in _find_and_load

File "", line 1149, in _find_and_load_unlocked

File "", line 690, in _load_unlocked

File "", line 940, in exec_module

File "", line 241, in _call_with_frames_removed

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\contrib\auth\models.py", line 3, in

from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\contrib\auth\base_user.py", line 57, in

class AbstractBaseUser(models.Model):

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\db\models\base.py", line 143, in __new__

new_class.add_to_class("_meta", Options(meta, app_label))

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\db\models\base.py", line 371, in add_to_class

value.contribute_to_class(cls, name)

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\db\models\options.py", line 243, in contribute_to_class

self.db_table, connection.ops.max_name_length()

^^^^^^^^^^^^^^

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\utils\connection.py", line 15, in __getattr__

return getattr(self._connections[self._alias], item)

~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\utils\connection.py", line 62, in __getitem__

conn = self.create_connection(alias)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\db\utils.py", line 193, in create_connection

^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\db\utils.py", line 113, in load_backend

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1008.0_x64__qbz5n2kfra8p0\Lib\imp

ortlib\__init__.py", line 126, in import_module

return _bootstrap._gcd_import(name[level:], package, level)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local

-packages\Python311\site-packages\django\db\backends\mysql\base.py", line 35, in

raise ImproperlyConfigured(

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.3 or newer is required; you have 1.0.3.

但是明明我的mysqlclient版本是2.1.1,settings.py的DATABASES也没打错,so why??

后来我发现,只需要在__init__.py中加上

import pymysql

pymysql.version_info =(2, 1, 1, "final", 0)

pymysql.install_as_MySQLdb()

就可以了!!!!!!!!!!!!!!!!!

注意这个第二行的2,1,1是根据 mysqlclient的版本噢!!!!!!!

实在是太激动了,但不知道我理解的有没有错,如果有错再麻烦指正!

查看原文