想要做一個(gè)anomaly detection的項(xiàng)目痊班,查看資料看到一個(gè)關(guān)于python的開源架構(gòu)叫做datastream.io鸽疾。
按照https://github.com/MentatInnovations/datastream.io/blob/master/README.md?中的指導(dǎo)進(jìn)行學(xué)習(xí)測(cè)試环肘,在過程中遇到了一些問題乙各,在此總結(jié)一下解決辦法仇祭。先說一下關(guān)于這篇文章中遇到的問題的解決辦法,之后再擴(kuò)展到一般情況猿挚。
問題1. 按照文章步驟在terminal輸入?virtualenv --python=python3 dsio-env。會(huì)顯示 Error "virtualenv?: command not found".?
這時(shí)需要安裝virtualenv驶鹉,terminal輸入pip3 install virtualenv绩蜻。之后再次運(yùn)行virtualenv?--python=python3?dsio-env即可。該句話的意思是將虛擬環(huán)境命名為dsio-env. 之后繼續(xù)按照文章中的command line執(zhí)行
source dsio-env/bin/activate
pip install -e git+https://github.com/MentatInnovations/datastream.io#egg=dsio
cd dsio-env/src/dsio/examples
dsio data/cardata_sample.csv (注意要在dsio-env 環(huán)境激活的狀態(tài)下運(yùn)行)
這里也可能會(huì)出現(xiàn)一個(gè)問題
問題2:?
Traceback (most recent call last):
File "C:\Program Files\Python36\Scripts\dsio-script.py", line 11, in?
load_entry_point('dsio', 'console_scripts', 'dsio')()
File "c:\windows\system32\src\dsio\dsio\main.py", line 155, in main
cols=int(args.cols)
File "c:\windows\system32\src\dsio\dsio\main.py", line 70, in restream_dataframe
port=bokeh_port, update_queue=update_queue
File "c:\windows\system32\src\dsio\dsio\dashboard\bokeh.py", line 74, in generate_dashboard
if io_loop._running: # Assume we're in a Jupyter notebook
AttributeError: 'AsyncIOMainLoop' object has no attribute '_running'
解決這個(gè)問題的方法是將tornado的版本改成4.5.3室埋。如何查看python中安裝模塊的版本办绝,可以在terminal中輸入pip freeze進(jìn)行查看。安裝tornado 4.5.3 版本指令:
pip3 install tornado==4.5.3
問題3: 想要在jupyter notebook中進(jìn)行測(cè)試鏈接文章中的jupyter notebook的例子姚淆,但是總是出現(xiàn)錯(cuò)誤如下
ModuleNotFoundError: No module named 'dsio'孕蝉。
這是因?yàn)閖upyter notebook并沒有在dsio-env環(huán)境下運(yùn)行,下面設(shè)置jupyter notebook在dsio-env環(huán)境下運(yùn)行腌逢。
首先在terminal下激活虛擬環(huán)境source dsio-env/bin/activate
執(zhí)行: pip install ipykernel
? ??????????ipython kernel install --user --name=dsio-env
之后在terminal中輸入jupyter notebook降淮,在想要?jiǎng)?chuàng)建notebook路徑下的右上角可以看到下圖:
選擇dsio-env,之后就是在dsio-env的環(huán)境下運(yùn)行jupyter notebook了搏讶。
問題4 : 運(yùn)行鏈接文章中的restream_dataframe(df, detector, sensors=['engine_speed','vehicle_speed',
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'accelerator_pedal_position','torque_at_transmission'], cols=2, speed=50)
會(huì)出現(xiàn)如下的error骤肛,并且沒有圖片顯示,但是我目前還沒有找到解決辦法窍蓝,希望知道如何解決如下問題的小伙伴進(jìn)行留言指導(dǎo)腋颠,謝謝你們的幫助和支持!O朋稀淑玫!
ERROR:bokeh.server.views.ws:Refusing websocket connection from Origin 'http://localhost:8890'; use --allow-websocket-origin=localhost:8890 or set BOKEH_ALLOW_WS_ORIGIN=localhost:8890 to permit this; currently we allow origins {'localhost:8888'}
WARNING:tornado.access:403 GET /ws?bokeh-protocol-version=1.0&bokeh-session-id=FYsSw2Pqi0t3HxRM7oQ1QbyHFqnsQgk2FaYibcmdNyuX (::1) 1.28ms
下面將如何安裝python 虛擬環(huán)境&設(shè)置jupyter notebook運(yùn)行在特定的虛擬環(huán)境下的問題一般化
1. 安裝python 虛擬環(huán)境
????pip3 install virtualenv
????virtualenv?--python=python3 虛擬環(huán)境名字
2.?設(shè)置jupyter notebook運(yùn)行在特定的虛擬環(huán)境下
????source 虛擬環(huán)境名字/bin/activate
? ??pip install ipykernel
? ??ipython kernel install --user --name=虛擬環(huán)境名字
這里說一下如何在執(zhí)行了?
source 虛擬環(huán)境名字/bin/activate
激活虛擬環(huán)境之后,停止激活狀態(tài):terminal中輸入deactive即可。