確認有安裝 ipykernel 後,terminal 下移動到新建的虛擬環境資料夾下,例如 my_env_name 執行下列指令:
python -m ipykernel install --user --name=<my_env_name>
確認有安裝 ipykernel 後,terminal 下移動到新建的虛擬環境資料夾下,例如 my_env_name 執行下列指令:
python -m ipykernel install --user --name=<my_env_name>
from comtypes.client import CreateObject, GetEvents | |
import comtypes.gen.SKCOMLib as sk | |
import pythoncom | |
import asyncio | |
# 建立物件, 登錄物件, 回報物件 | |
skC = CreateObject(sk.SKCenterLib, interface=sk.ISKCenterLib) | |
skR = CreateObject(sk.SKReplyLib , interface=sk.ISKReplyLib) | |
# 輸入身分證與密碼 | |
ID = '' | |
PW = '' | |
# working functions, async coruntime to pump events | |
async def pump_task(): | |
while True: | |
pythoncom.PumpWaitingMessages() | |
await asyncio.sleep(0.1) | |
# 建立事件類別 | |
class skR_events: | |
def OnReplyMessage(self, bstrUserID, bstrMessage): | |
'''API 2.13.17 以上一定要返回 sConfirmCode=-1''' | |
sConfirmCode=-1 | |
print('skR_OnReplyMessage', bstrMessage) | |
return sConfirmCode | |
def OnNewData(self, bstrUserID , bstrData): | |
print('skR_OnNewData', bstrData) | |
# Event sink, 事件實體 | |
EventR = skR_events() | |
# make connection to event sink | |
ConnR = GetEvents(skR, EventR) | |
print('Making event handeller') | |
# get an event loop | |
loop = asyncio.get_event_loop() | |
pumping_loop = loop.create_task(pump_task()) | |
print('Event pumping!') | |
# login | |
nCode=skC.SKCenterLib_Login(ID,PW) | |
print('Login', skC.SKCenterLib_GetReturnCodeMessage(nCode)) | |
# 連接回報伺服器 | |
skR.SKReplyLib_ConnectByID(ID) |