Mac OSX 10.12.6上的烧瓶mysql连接错误

时间:2019-07-16 15:14:51

标签: python mysql macos flask

/ 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
  在
中的文件“ /Users/apple/myapp2/env/lib/python3.7/site-packages/MySQLdb/init.py”中,第18行     来自。导入_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 < br />

/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)

    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的方法,这对我来说解决问题太困难了:)

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

1 个答案:

答案 0 :(得分:0)

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

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

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