安装python虚拟环境&设置jupyter notebook在虚拟环境中运行

想要做一个anomaly detection的项目,查看资料看到一个关于python的开源架构叫做datastream.io。

按照https://github.com/MentatInnovations/datastream.io/blob/master/README.md 中的指导进行学习测试,在过程中遇到了一些问题,在此总结一下解决办法。先说一下关于这篇文章中遇到的问题的解决办法,之后再扩展到一般情况。

问题1. 按照文章步骤在terminal输入 virtualenv --python=python3 dsio-env。会显示 Error "virtualenv : command not found". 

这时需要安装virtualenv,terminal输入pip3 install virtualenv。之后再次运行virtualenv --python=python3 dsio-env即可。该句话的意思是将虚拟环境命名为dsio-env. 之后继续按照文章中的command line执行

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 环境激活的状态下运行)

这里也可能会出现一个问题

问题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'

解决这个问题的方法是将tornado的版本改成4.5.3。如何查看python中安装模块的版本,可以在terminal中输入pip freeze进行查看。安装tornado 4.5.3 版本指令:

pip3 install tornado==4.5.3

问题3: 想要在jupyter notebook中进行测试链接文章中的jupyter notebook的例子,但是总是出现错误如下

ModuleNotFoundError: No module named 'dsio'。

这是因为jupyter notebook并没有在dsio-env环境下运行,下面设置jupyter notebook在dsio-env环境下运行。

首先在terminal下激活虚拟环境source dsio-env/bin/activate

执行: pip install ipykernel

            ipython kernel install --user --name=dsio-env

之后在terminal中输入jupyter notebook,在想要创建notebook路径下的右上角可以看到下图:


选择dsio-env,之后就是在dsio-env的环境下运行jupyter notebook了。

问题4 : 运行链接文章中的restream_dataframe(df, detector, sensors=['engine_speed','vehicle_speed',

                                            'accelerator_pedal_position','torque_at_transmission'], cols=2, speed=50)

会出现如下的error,并且没有图片显示,但是我目前还没有找到解决办法,希望知道如何解决如下问题的小伙伴进行留言指导,谢谢你们的帮助和支持!!!

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 虚拟环境&设置jupyter notebook运行在特定的虚拟环境下的问题一般化

1. 安装python 虚拟环境

    pip3 install virtualenv

    virtualenv --python=python3 虚拟环境名字

2. 设置jupyter notebook运行在特定的虚拟环境下

    source 虚拟环境名字/bin/activate

    pip install ipykernel

    ipython kernel install --user --name=虚拟环境名字

这里说一下如何在执行了 

source 虚拟环境名字/bin/activate

激活虚拟环境之后,停止激活状态:terminal中输入deactive即可。

如果解决了您的问题,给个赞或者点击关注,谢谢!!!

你可能感兴趣的:(安装python虚拟环境&设置jupyter notebook在虚拟环境中运行)