問題描述
作爲一個初學者,按照 https://www.quantos.org/datacore/doc.html 的步驟完成了python環境的搭建、依賴包的安裝、DataApi的下載,按照示例 from DataApi import DataApi出現了問題:ImportError: No module named DataApi
1、環境搭建及依賴包的安裝:
2、下載的DataApi:
3、使用DataApi遇到的問題:
cd C:\Users\santiren\quantos\DataApi-master\DataApi-master
python
from DataApi import DataApi
以上操作參照的文檔
安裝Python環境
如果本地還沒有安裝Python環境,強烈建議安裝 Anaconda。
打開上面的網址,選擇相應的操作系統,確定要按照的Python版本,一般建議用Python 2.7。
下載完成以後,按照圖形界面步驟完成安裝。在默認情況下,Anaconda不會自動設置PATH環境,請選擇“add Anaconda to system PATH”選項。
安裝依賴包
如果Python環境不是類似Anaconda的集成開發環境,我們需要單獨安裝依賴包,在已經有pandas/numpy包前提下,還需要有以下幾個包:
- pyzmq
- msgpack_python
- python-snappy
可以通過單個安裝完成,例如: pip install pyzmq
需要注意的是,python-snappy和msgpack-python這兩個包在Windows上的安裝需要比較多的編譯依賴,建議從這個網頁下載編譯好的包,然後安裝:
pip install msgpack_python-0.4.8-cp27-cp27m-win_amd64.whl
pip install python_snappy-0.5.1-cp27-cp27m-win_amd64.whl
下載DataApi
DataApi下載請參見: https://github.com/quantOS-org/DataApi
開始使用DataApi
from DataApi import DataApi # 這裏假設項目目錄名爲DataApi, 且存放在工作目錄下
api = DataApi(addr="tcp://data.tushare.org:8910")
df, msg = api.login("phone", "token") // 請在www.quantos.org註冊用戶
symbol = 'T1712.CFE, TF1712.CFE, rb1712.SHF'
fields = 'open,high,low,last,volume'
# 獲取實時行情
df, msg = api.quote(symbol=symbol, fields=fields)
print(df)
print(msg)
問題的分析
基本判斷是模塊的引用出現了問題,參考了
https://www.cnblogs.com/cnhkzyy/p/9250572.html
python中模塊的引用。
問題的解決
1、 解決問題過程中遇到的另一個坑 SyntaxError: invalid syntax
exit()
cd C:\Users\santiren\quantos\DataApi-master
python
from DataApi-master.data_api import DataApi
2、另一個坑的解決:最後一個橫線 “-” 改變爲下劃線 “_”
C:\Users\santiren\quantos\DataApi-master\DataApi-master→C:\Users\santiren\quantos\DataApi-master\DataApi_master
3、回來解決之前的問題,搞定!
from DataApi_master.data_api import DataApi