Bel*_*lle 2 python mysql-python flask
在完成我的一个Flask项目之后,我像其他人一样将其上传到了github。在2-3个月的时间后,我将整个githube存储库下载到另一台计算机上以运行它。但是,该应用程序无法正常运行,因为找不到提供以下消息的软件包
ModuleNotFoundError:没有名为“ Flask”的模块
因此,我最终下载了从Flask,SQLalchemy等所有软件包。但我被困在MySQLdb:
(MYAPPENV) C:\Users\hp\myapp>python run.py
Traceback (most recent call last):
File "run.py", line 1, in <module>
from app import app
File "C:\Users\hp\myapp\app\__init__.py", line 4, in <module>
from instance.config import engine
File "C:\Users\hp\myapp\instance\config.py", line 52, in <module>
engine = create_engine("mysql://root:root@localhost/MYAPPDB")
File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\__init__.py", line 425, in create_engine
return strategy.create(*args, **kwargs)
File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\engine\strategies.py", line 81, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "C:\Users\hp\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sqlalchemy\dialects\mysql\mysqldb.py", line 102, in dbapi
return __import__('MySQLdb')
ModuleNotFoundError: No module named 'MySQLdb'
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙解决这个问题吗?我在Windows机器上使用python37。我什至尝试下载软件包,例如mysqlclient,.. etc,但没有成功。
Gof*_*tty 12
您可以安装mysqlclient使用pip
如果使用Python3,试试这个:
pip3 install mysqlclient
或在Python2 中
pip install mysqlclient
Lea*_*ess 10
要在您的机器上安装MySQLdb、提供pip或pip3安装:
pip install mysqlclient
Run Code Online (Sandbox Code Playgroud)
我已经读过python3不支持mysqldb
看起来,当您尝试连接数据库时,默认情况下使用mysql db连接数据库!
您需要通过编辑DATABASE_URI配置进行更改
但是在您需要安装连接器扩展之前:
使用此命令:
pip install mysql-connector-python
Run Code Online (Sandbox Code Playgroud)
根据此文档, 您可以编辑DATABSE_URI并更改默认连接器,如下所示:
DATABSE_URI='mysql+mysqlconnector://{user}:{password}@{server}/{database}'.format(user='your_user', password='password', server='localhost', database='dname')
Run Code Online (Sandbox Code Playgroud)
我希望这个能帮上忙...
各位网友大家好,
由于同样的问题,我到达此页面。
但我使用的是 Ubuntu 18.04 和 Python 3.6
Python 片段 - app.py
from flask import Flask, render_template
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'YourHost'
app.config['MYSQL_USER'] = 'YourUserName'
app.config['MYSQL_PASSWORD'] = 'UserPassword'
app.config['MYSQL_DB'] = 'TheDbName'
mysql = MySQL(app)
app.secret_key = 'YourUltimateSuperSecretKey'
@app.route('/')
@app.route('/index')
def index():
cur = mysql.connection.cursor()
cur.execute('SELECT * FROM users')
data = cur.fetchall()
cur.close()
return render_template('index.html', test = data)
if __name__ == "__main__":
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
HTML - 索引.html
<div>
{% for x in test %}
{{ x }}
{% endfor %}
</div>
Run Code Online (Sandbox Code Playgroud)
这就是我解决问题的方法:
首先我安装了丢失的软件包:
sudo apt install python3-mysqldb
之后,我在环境中使用 pip 安装了这些库: