0

我有一個MySQL數據庫股票市場報價。我試圖創建一個python腳本來連接到數據庫並進行查詢。這裏是我的Python腳本...用sqlalchemy連接到mysql,並查詢

from flask import Flask 
from flask_sqlalchemy import SQLAlchemy 

app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:[email protected]:8889/database_name' 
db = SQLAlchemy(app) 


class Stocks(db.Model): 
    __tablename__ = 'stocks' 
    stock_id = db.Column('stock_id', db.Integer, primary_key=True) 
    adj_close = db.Column('adj_close', db.Float) 
    close = db.Column('close', db.Float) 
    date = db.Column('date', db.Date) 
    high = db.Column('high', db.Float) 
    low = db.Column('low', db.Float) 
    open = db.Column('open', db.Float) 
    symbol = db.Column('symbol', db.String(10)) 
    volume = db.Column('volume ', db.Float) 

我試圖利用查詢使用以下命令蟒蛇控制檯數據庫...

>>>from file.py import Stocks 
>>>data = Stocks.query.all() 

我碰到下面的錯誤.. 。

ImportError: No module named MySQLdb 

我跑蟒蛇2.7.12

如果我運行此代碼與Python 3.5.2,我得到的F ollowing錯誤...

ImportError: No module named 'MySQLdb' 

如果我嘗試安裝MySQLdb我得到以下...

Could not find a version that satisfies the requirement MySQLdb (from versions:) 
No matching distribution found for MySQLdb 

我該如何解決這個問題?

回答

1

使用「mysql:// ...」連接字符串,SQLAlchemy將默認使用MySQL-python進行連接,因此您需要使用pip來安裝該包。或者,你可以使用另一個庫來連接,比如PyMySQL(MySQL-python不再被主動開發)。只要改變你的連接字符串:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email protected]:8889/database_name' 

要安裝PyMySQL:

pip install PyMySQL 
+0

你的第二個選項工作。 – Gilbert