以前一直用的都是pycharm神器,在python3,pytorch和tensorflow的环境切换上没有问题,今天突然想换着jupyter用用,配置了一系列环境,记录如下:
jupyter notebook配置手册
1.修改jupyter工作路径
- 打开cmd,输入
jupyter notebook --generate-config
- 可以查看 jupyter_notebook_config.py 的文件目录,一般为C:\Users\username.jupyter,打开文件目录,编辑jupyter_notebook_config.py,搜索notebook_dir,找到行
#c.NotebookApp.notebook_dir = ''
,删除#,并输入要打开的文件目录如替换为c.NotebookApp.notebook_dir = 'D:\\Jupyter'
或者替换为c.NotebookApp.notebook_dir = 'D:/Jupyter'
,注意斜杠的问题。 - 然后打开cmd,输入
jupyter notebook
就可以进入指定工作路径的jupyter中了,或者修改快捷键的属性,见默认路径修改
2.jupyter实现自动补全
- 新版的jupyter在安装时是没有Nbextensions这个插件的,所以我们需要先进行安装(最好关闭jupyter):
pip install jupyter_nbextensions_configurator -i https://pypi.doubanio.com/simple
pip install jupyter_contrib_nbextensions -i https://pypi.doubanio.com/simple
- 配置安装好的插件
jupyter contrib nbextension install --user
jupyter nbextensions_configurator enable --user
全部完成后重启jupyter,就会发现多了Nbextensions这个插件
3. 去掉左上角的小勾,然后找到Hinterland,在前面打上勾就好
4. 然后就完成自动补全了
3.加入与切换kernel内核
打开cmd:
- 比如我要添加pytorch环境内核,要加入哪个环境就先激活它:
activate pytorch
- 在这个环境中安装ipykernel
pip install ipykernel
- 添加虚拟环境kernel(这一步是在激活的环境中进行)
python -m ipykernel install --user --name envname
- 查看当前可用的虚拟环境内核
jupyter kernelspec list
- 删除内核
jupyter kernelspec remove envname
然后你进入到jupyter notebook 中打开一个文件,并点击kernel中的change kernel,就会发现已经添加入环境内核了:
4.无法定位程序输入点(以pytorch为例)
本以为加入环境内核就解决了,但是经过测试发现,python3和tensorflow的环境内核切换与使用都没有问题,但是当切换到pytorch环境时,就出现如下错误:
来到csdn中搜寻解决办法,发现无非就是以下这么3种解决办法:
- 整个删除环境然后在anaconda里面重装的,显然这是个可以解决的办法,但是我的环境中已经有很多包了,再重装太麻烦,所以放弃;
- 找到那个目标位置然后直接删除pythoncom37.dll,这个方法我试过了,删了之后虽然不会出现无法定位输入点的报错,但是pytorch环境一直没法启动;
- 认为python环境相互覆盖,这个大家可以参考这篇博客环境覆盖,觉得应该是有道理的,但是我试过了不能解决自己的问题;
最后,在我各种方法尝试无果情况下,无意间找到了一个很简单的解决办法,就是直接激活pytorch环境,然后从中进入jupyter notebook
activate pytorch
jupyter notebook
从这里进入到其中,pytorch环境就可以正常使用了,并且同样不影响其他环境的切换,虽然没有从根本上解决问题,但是是一种很方便的办法让你可以正常使用,对于有强迫症的朋友还是可以去找找其他办法的,找到了可以评论告知,谢谢。