Environment:
Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-45-generic x86_64)
Server version: Apache/2.4.29 (Ubuntu)
Python 3.7.5
Flask 1.1.2
Werkzeug 1.0.1
We deployed a flask application on our VPS ubuntu. When we test with a browser, I get an error 500. When I checked gunicorn.log : cat /var/log/gunicorn.log
[2021-04-08 18:37:21,413] ERROR in app: Exception on / [POST] Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/util/_collections.py", line 1020, in __call__ return self.registry[key] KeyError: 140258434049856 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1952, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1821, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python3.7/dist-packages/flask/_compat.py", line 39, in reraise raise value File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/var/www/vhosts/domain.co/dashboard.domain.co/Domain_dashboard/dashboard/routes.py", line 282, in home if form.validate_on_submit(): File "/usr/local/lib/python3.7/dist-packages/flask_wtf/form.py", line 100, in validate_on_submit return self.is_submitted() and self.validate() File "/usr/local/lib/python3.7/dist-packages/wtforms/form.py", line 318, in validate return super(Form, self).validate(extra) File "/usr/local/lib/python3.7/dist-packages/wtforms/form.py", line 150, in validate if not field.validate(self, extra): File "/usr/local/lib/python3.7/dist-packages/wtforms/fields/core.py", line 226, in validate stop_validation = self._run_validation_chain(form, chain) File "/usr/local/lib/python3.7/dist-packages/wtforms/fields/core.py", line 246, in _run_validation_chain validator(form, self) File "/var/www/vhosts/domain.co/dashboard.domain.co/Domain_dashboard/dashboard/forms.py", line 53, in validate_email user = User.query.filter_by(user_email=email.data).first() File "/usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py", line 514, in __get__ return type.query_class(mapper, session=self.sa.session()) File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/orm/scoping.py", line 78, in __call__ return self.registry() File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/util/_collections.py", line 1022, in __call__ return self.registry.setdefault(key, self.createfunc()) File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/orm/session.py", line 3309, in __call__ return self.class_(**local_kw) File "/usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py", line 138, in __init__ bind = options.pop('bind', None) or db.engine File "/usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py", line 943, in engine return self.get_engine() File "/usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py", line 962, in get_engine return connector.get_engine() File "/usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py", line 556, in get_engine self._engine = rv = self._sa.create_engine(sa_url, options) File "/usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py", line 972, in create_engine return sqlalchemy.create_engine(sa_url, **engine_opts) File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/__init__.py", line 520, in create_engine return strategy.create(*args, **kwargs) File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/strategies.py", line 87, in create dbapi = dialect_cls.dbapi(**dbapi_args) File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 118, in dbapi return __import__("MySQLdb") File "/usr/lib/python3/dist-packages/MySQLdb/__init__.py", line 19, in <module> import _mysql ModuleNotFoundError: No module named '_mysql'
So I searched on google and here. I saw so many similar questions. So I tried the recommendation. pip install this, pip install that, but I always come back to same issue : Internal Server Error 500 and ModuleNotFoundError: No module named '_mysql'
Does anyone have any idea about this issue?
MORE INFO:
pip freeze:
apparmor==2.12 asn1crypto==0.24.0 blinker==1.4 certifi==2018.1.18 chardet==3.0.4 cheroot==8.4.5 CherryPy==18.6.0 click==7.1.2 cloud-init==20.3 command-not-found==0.3 configobj==5.0.6 configparser==5.0.2 cryptography==2.1.4 db-mysql==0.1.2 distro-info===0.18ubuntu0.18.04.1 Flask==1.1.2 Flask-Login==0.5.0 Flask-SQLAlchemy==2.4.4 Flask-WTF==0.14.3 gunicorn==20.1.0 idna==2.6 iotop==0.6 isc==2.0 itsdangerous==1.1.0 jaraco.classes==3.1.0 jaraco.collections==3.0.0 jaraco.functools==3.0.1 jaraco.text==3.2.0 Jinja2==2.11.3 jsonpatch==1.16 jsonpointer==1.10 jsonschema==2.6.0 keyring==10.6.0 keyrings.alt==3.0 language-selector==0.1 LibAppArmor==2.12 MarkupSafe==1.1.1 more-itertools==8.5.0 mysql-connector==2.2.9 mysql-connector-python==8.0.23 mysql-connector-python-rf==2.2.2 mysqlclient==1.3.10 netifaces==0.10.4 oauthlib==2.0.6 ply==3.11 portend==2.6 protobuf==3.15.7 pycrypto==2.6.1 pygobject==3.26.1 PyJWT==1.5.3 PyMySQL==0.10.1 pyserial==3.4 python-apt==1.6.5+ubuntu0.3 pytz==2020.1 pyxdg==0.25 PyYAML==3.12 requests==2.18.4 SecretStorage==2.3.1 six==1.11.0 SQLAlchemy==1.3.23 ssh-import-id==5.7 tempora==4.0.0 ufw==0.36 unattended-upgrades==0.1 urllib3==1.22 Werkzeug==1.0.1 WTForms==2.3.3 zc.lockfile==2.0
I added the environment variable export $PYTHONPATH=/usr/local/lib/python3.7/dist-packages/
I added in the . bashrc file.
I restarted apache2 and the issue is still there. It didn't fix anything?
https://stackoverflow.com/questions/67010342/how-to-fix-modulenotfounderror-no-module-named-mysql April 09, 2021 at 03:04AM
没有评论:
发表评论