uwsgi项目启动错误信息如下Did you install mysqlclient?Command 'pkg-config --exists mysqlclient' returned non-zero exit status 1Command 'pkg-config --exists mariadb' returned non-zero exit status 1.
Traceback (most recent call last):File "/home/dream21th/code/django_one/./django_one/wsgi.py", line 16, in <module>application = get_wsgi_application()File "/usr/local/lib/python3.8/site-packages/django/core/wsgi.py", line 12, in get_wsgi_applicationdjango.setup(set_prefix=False)File "/usr/local/lib/python3.8/site-packages/django/__init__.py", line 24, in setupapps.populate(settings.INSTALLED_APPS)File "/usr/local/lib/python3.8/site-packages/django/apps/registry.py", line 114, in populateapp_config.import_models()File "/usr/local/lib/python3.8/site-packages/django/apps/config.py", line 211, in import_modelsself.models_module = import_module(models_module_name)File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "/usr/local/lib/python3.8/site-packages/django/contrib/auth/models.py", line 2, in <module>from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManagerFile "/usr/local/lib/python3.8/site-packages/django/contrib/auth/base_user.py", line 47, in <module>class AbstractBaseUser(models.Model):File "/usr/local/lib/python3.8/site-packages/django/db/models/base.py", line 121, in __new__new_class.add_to_class('_meta', Options(meta, app_label))File "/usr/local/lib/python3.8/site-packages/django/db/models/base.py", line 325, in add_to_classvalue.contribute_to_class(cls, name)File "/usr/local/lib/python3.8/site-packages/django/db/models/options.py", line 208, in contribute_to_classself.db_table = truncate_name(self.db_table, connection.ops.max_name_length())File "/usr/local/lib/python3.8/site-packages/django/db/__init__.py", line 28, in __getattr__return getattr(connections[DEFAULT_DB_ALIAS], item)File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 207, in __getitem__backend = load_backend(db['ENGINE'])File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 111, in load_backendreturn import_module('%s.base' % backend_name)File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)File "/usr/local/lib/python3.8/site-packages/django/db/backends/mysql/base.py", line 18, in <module>raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
unable to load app 0 (mountpoint='') (callable not found or import error)
这个时候执行下面指令安装pip install mysqlclient==2.2.0,报下面错误
Command 'pkg-config --exists mysqlclient' returned non-zero exit status 1.
Collecting mysqlclient==2.2.0Using cached mysqlclient-2.2.0.tar.gz (89 kB)Installing build dependencies ... doneGetting requirements to build wheel ... errorerror: subprocess-exited-with-error× Getting requirements to build wheel did not run successfully.│ exit code: 1╰─> [22 lines of output]Trying pkg-config --exists mysqlclientCommand 'pkg-config --exists mysqlclient' returned non-zero exit status 1.Trying pkg-config --exists mariadbCommand 'pkg-config --exists mariadb' returned non-zero exit status 1.Traceback (most recent call last):File "/usr/local/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>main()File "/usr/local/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in mainjson_out['return_val'] = hook(**hook_input['kwargs'])File "/usr/local/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheelreturn hook(config_settings)File "/tmp/pip-build-env-eiusynpi/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheelreturn self._get_build_requires(config_settings, requirements=['wheel'])File "/tmp/pip-build-env-eiusynpi/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 323, in _get_build_requiresself.run_setup()File "/tmp/pip-build-env-eiusynpi/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 338, in run_setupexec(code, locals())File "<string>", line 154, in <module>File "<string>", line 48, in get_config_posixFile "<string>", line 27, in find_package_nameException: Can not find valid pkg-config name.Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually[end of output]
先安装pip install pymysql
在setting配置同目录的__init__.py里面添加下面代码,启动代码项目正常
[root@localhost django_one]# cat __init__.py
import pymysql
pymysql.install_as_MySQLdb()