关于Mac OSX 10.12.6上的python:烧瓶mysql连接错误

 2020-06-30 

flask mysql connect error on Mac OSX 10.12.6

/ Users / apple / myapp2 / env / bin / python3 /Users/apple/myapp2/testmysql2/app.py

追溯(最近一次通话):
文件" /Users/apple/myapp2/testmysql2/app.py",第2行,在
flask_mysqldb导入MySQL
文件" /Users/apple/myapp2/env/lib/python3.7/site-packages/flask_mysqldb/init.py",第1行,在
导入MySQLdb
在第18行的" /Users/apple/myapp2/env/lib/python3.7/site-packages/MySQLdb/init.py"文件中
来自。导入_mysql
ImportError:dlopen(/Users/apple/myapp2/env/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so,2):找不到符号:_syslog $ DARWIN_EXTSN
引用自:/usr/local/mysql/lib/libcrypto.1.0.0.dylib(为Mac OS X 10.13构建)
预期位于:/usr/lib/libSystem.B.dylib
在/usr/local/mysql/lib/libcrypto.1.0.0.dylib中

流程以退出代码1完成

其他资讯:

(env)(基本)MacBook-Air:testmysql2 apple $ otool -L /Users/apple/myapp2/env/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so

/Users/apple/myapp2/env/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so:
/usr/local/mysql/lib/libmysqlclient.21.dylib(兼容版本21.0.0,当前版本21.0.0)
/usr/local/mysql/lib/libssl.1.0.0.dylib(兼容版本1.0.0,当前版本1.0.0)
/usr/local/mysql/lib/libcrypto.1.0.0.dylib(兼容版本1.0.0,当前版本1.0.0)
/usr/lib/libSystem.B.dylib(兼容版本1.0.0,当前版本1238.60.2)

1
2
3
4
5
6
7
8
9
10
    from flask import Flask, render_template
    from flask_mysqldb import MySQL
    app = Flask(__name__)

    app.config['MYSQL_HOST'] = 'localhost'
    app.config['MYSQL_USER'] = 'testuser'
    app.config['MYSQL_PASSWORD'] = 'testpw'
    app.config['MYSQL_DB'] = 'formdb'

    mysql = MYSQL(app)

我想将mysql连接到flask应用程序,但是出现了这样的错误,我不知道如何解决。

那是什么意思

预期位于:/usr/lib/libSystem.B.dylib
在/usr/local/mysql/lib/libcrypto.1.0.0.dylib中

我的Mac是Mac OS X 10.12

另外,我还将寻找另一种将mysql连接到flask的方法,这对我来说解决问题太困难了:)

这是我第一次问问题,也许有一些格式问题,不清楚阅读。


安装pymysql。 并在数据库字符串uri中包含pymysql,如下所示:

1
'pymysql://root:root@localhost/your_database?charset=utf8mb4'

它将起作用,我也遇到了相同的问题,这解决了我的问题