Estoy publicando mi primera pregunta aquí, así que avíseme si puedo mejorar mis habilidades para hacer una pregunta aquí.
Estoy implementando una aplicación python en un servidor Linux que recibirá una carga JSON y escribirá en una base de datos mariadb. He probado con éxito la aplicación en pycharm mientras la conecto a la misma base de datos de forma remota. Solo da error cuando lo ejecuto en el servidor, a continuación se muestra la consola de error:
**export FLASK_APP=testapp.py $ python3 -m flask run** Traceback (most recent call last): File "/usr/lib/python3.5/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/lib/python3/dist-packages/flask/__main__.py", line 15, in <module> main(as_module=True) File "/usr/lib/python3/dist-packages/flask/cli.py", line 513, in main cli.main(args=args, prog_name=name) File "/usr/lib/python3/dist-packages/flask/cli.py", line 380, in main return AppGroup.main(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 696, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 1060, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 889, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke return callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/decorators.py", line 64, in new_func return ctx.invoke(f, obj, *args[1:], **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke return callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/flask/cli.py", line 423, in run_command app = DispatchingApp(info.load_app, use_eager_loading=eager_loading) File "/usr/lib/python3/dist-packages/flask/cli.py", line 152, in __init__ self._load_unlocked() File "/usr/lib/python3/dist-packages/flask/cli.py", line 176, in _load_unlocked self._app = rv = self.loader() File "/usr/lib/python3/dist-packages/flask/cli.py", line 237, in load_app rv = locate_app(self.app_import_path) File "/usr/lib/python3/dist-packages/flask/cli.py", line 90, in locate_app __import__(module) File "/home/573076.cloudwaysapps.com/csthybvwhm/public_html/testapp.py", line 7, in <module> import mysql.connector as database File "/home/master/.local/lib/python3.5/site-packages/mysql/connector/__init__.py", line 53, in <module> from .connection import MySQLConnection File "/home/master/.local/lib/python3.5/site-packages/mysql/connector/connection.py", line 442 f"This connection is using {tls_version} which is now " ^Mi configuración de conexión SQL se menciona a continuación:
import mysql.connector as database connection = database.connect( user="username", password="password", host="localhost", database="database", port="3306" ) cursor = connection.cursor() add_user = """INSERT INTO database.tablename (time, name,email, admin, id, team, remarks) VALUES (%s,%s,%s,%s,%s,%s,%s)""" data_user = (name, email, id, team, remarks) cursor.execute(add_user, data_user) connection.commit() cursor.close() connection.close() print("Successfully added entry to database")Intenté deshabilitar SSL para mi servidor SQL, quería intentar impulsar tls_version a través de la configuración de MySQL en python, pero no hay un argumento válido para que lo haga.
Cualquier ayuda o conocimiento es bienvenido, gracias de antemano. Esta plataforma es la razón por la que he aprendido hasta aquí. :)
Compare las versiones de openssl en su máquina pycharm, servidor linux y servidor db (usando la openssl version ), es posible que necesite actualizar algunos de ellos. Puede verificar más sobre qué versión admite qué protocolo en el registro de cambios de openssl .
Esto está bellamente respondido por Rishi, aquí: ImportError: ningún módulo llamado 'MySQL'
Parece que tuve que instalar el paquete mysql.connector correcto, verificar y ejecutar la aplicación.