以為很順暢的,結果發現Python 3.9無法支援,那就只好用3.8囉!因為採了不小的雷,因此要記錄一下。
很開心的使用pipenv install shioaji
安裝我們的shioaji
,結果發現悲劇的事情:
Error: An error occurred while installing shioaji!
Error text:
ERROR: Could not find a version that satisfies the requirement shioaji (from versions: none)
ERROR: No matching distribution found for shioaji
居然找不到可以用的shioaji
...太慘了吧=口=
好吧,那就降版本...
在網路上看到有人使用Python 3.7,那可以確信3.7可以使用,那就用3.7版。結果可以順利安裝!
首先安裝好Python虛擬環境,所以要先把Python3.7版安裝在我們電腦裡,我們使用brew
,並且指定用安裝3.7版:
brew install python@3.7
安裝完畢後,在我們要執行的目錄下,用pipenv
安裝shioaji
:
Adding shioaji to Pipfile's [packages]...
✔ Installation Succeeded
...(成功了,後面就不顯示了)
不過看到他們釋放很多測試的版本,還滿可愛的...居然這樣釋放出來:
Skipped pre-versions: 0.3.0.dev0, 0.3.0.dev2, 0.3.0.dev3, 0.3.0.dev4, 0.3.0.dev5, 0.3.0.dev7, 0.3.0.dev8, 0.3.0.dev9, 0.3.1.dev1, 0.3.1.dev2, 0.3.1.dev4, 0.3.1.dev6, 0.3.1.dev8, 0.3.2.dev1, 0.3.2.dev2, 0.3.2.dev3, 0.3.2.dev4
既然3.7過了,那就看看3.8吧!
結果3.8也通過,而他們在FB的討論區也有人用3.8版,可見是穩了!如果還是不行,我就要往docker跑了(話說都已經想,再失敗就用Docker了XD)
既然建立好環境,安裝好了,接著拿在文件中的範本來登入看看:
import shioaji as sj
api = sj.Shioaji(simulation=True)
api.login(
person_id="PAPIUSER01",
passwd="2222",
contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done."),
)
結果如下:
Response Code: 0 | Event Code: 0 | Info: host '218.32.76.102:80', hostname '218.32.76.102:80' IP 218.32.76.102:80 (host 1 of 1) (host connection attempt 1 of 1) (total connection attempt 1 of 1) | Event: Session up
<SecurityType.Index: 'IND'> fetch done.
成功囉~
不過...我在這堆訊息中看到一個悲劇的事情...就是:
warnings.warn("Mac OS currently don't provide ca module all function about placing order is not working.", Warning)
Mac OS居然不能Place Order =口=,那我這樣做API...只能做分析跟做訊號吧...是不是逼我往Docker走...
(2022/2/18更新)
現在測試環境無法使用囉,詳情參考:https://ithelp.ithome.com.tw/articles/10284040
礙於公司沒有採購MAC憑證資源,目前MAC要下單的確只能先透過Docker
謝謝解說~
姑且不論下單,其他功能與資源就可以做到很多事情囉