我开始了一个django项目,我用sqlite3做了一些模型和迁移,但现在想使用mysql和workbench来工作,在运行python manage.py migrate
或python manage.py runserver
时,所有安装后我都有这个错误,请帮助。我已经正确安装了mysql,mysqlclient和workbench,这也是我的www.example.com上的代码settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'storedb',
'USER': 'root',
'PASSWORD': '2E71Blue.8',
'PORT': 3306,
'HOST': '127.0.0.1',
}
}
这是错误的追溯
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/MySQLdb/__init__.py", line 18, in <module>
from . import _mysql
ImportError: dlopen(/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/MySQLdb/_mysql.cpython-310-darwin.so, 2): Symbol not found: _mysql_affected_rows
Referenced from: /Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/MySQLdb/_mysql.cpython-310-darwin.so
Expected in: flat namespace
in /Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/MySQLdb/_mysql.cpython-310-darwin.so
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run
autoreload.raise_last_exception()
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception
raise _exception[1]
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/core/management/__init__.py", line 394, in execute
autoreload.check_errors(django.setup)()
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/apps/registry.py", line 116, in populate
app_config.import_models()
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/apps/config.py", line 269, in import_models
self.models_module = import_module(models_module_name)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/contrib/auth/models.py", line 3, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/contrib/auth/base_user.py", line 57, in <module>
class AbstractBaseUser(models.Model):
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/db/models/base.py", line 143, in __new__
new_class.add_to_class("_meta", Options(meta, app_label))
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/db/models/base.py", line 371, in add_to_class
value.contribute_to_class(cls, name)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/db/models/options.py", line 243, in contribute_to_class
self.db_table, connection.ops.max_name_length()
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/utils/connection.py", line 15, in __getattr__
return getattr(self._connections[self._alias], item)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/utils/connection.py", line 62, in __getitem__
conn = self.create_connection(alias)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/db/utils.py", line 193, in create_connection
backend = load_backend(db["ENGINE"])
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/db/utils.py", line 113, in load_backend
return import_module("%s.base" % backend_name)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/django/db/backends/mysql/base.py", line 15, in <module>
import MySQLdb as Database
File "/Users/cecibenitez/.local/share/virtualenvs/storebackend-1ILPqCOa/lib/python3.10/site-packages/MySQLdb/__init__.py", line 24, in <module>
version_info, _mysql.version_info, _mysql.__file__
NameError: name '_mysql' is not defined
我尝试安装mysqlclient的c包,我还添加了.zprofile的路径,我安装了一个较新版本的mysql,但这些都不起作用python version 3.10.5
mysql Ver 8.0.33 for macos11.7 on x86_64 (Homebrew)
,这是我的pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
django = "*"
django-debug-toolbar = "*"
mysqlclient = "*"
pymysql = "*"
[dev-packages]
[requires]
python_version = "3.10"
2条答案
按热度按时间lzfw57am1#
您是否正确安装了mysqlclient库?它依赖于本地模块。
_mysql
是C代码。请参阅有关如何在操作系统上安装的文档https://github.com/PyMySQL/mysqlclient#install
vxf3dgd42#
这为我修复
pip uninstall mysqlclient
pip install mysqlclient --no-cache-dir