如果我在下面提到的问题上犯了一些愚蠢的错误,我会直接道歉。我很长一段时间以来一直坚持这一点,试图成功地安装多个Python版本(通过单独的虚拟环境)并在Change kernel
交换机中运行Jupyter notebook
。你知道吗
目标:
以Python 3.5.6
作为默认值设置Anaconda,并创建两个Python 2.7.13
和Python 3.7.3
版本的虚拟环境,并且能够在Windows
上的Jupyter笔记本上切换这三个Python版本。你知道吗
接下来的过程:我做了什么(结果一团糟):
我首先成功地安装了Anaconda3,默认值为Python 3.5.6
(安装在C:\ProgramData\Anaconda3
),并设置了路径变量。Jupyter笔记本启动并运行了一个ipython内核,该内核运行于
(base) jupyter kernelspec list
Available kernels:
python_3.5.6 C:\Users\username\AppData\Roaming\jupyter\kernels\python_3.5.6
而且kernel.json
文件也被映射到正确的python版本。你知道吗
是的。你知道吗
然后我创建了我的第一个虚拟环境(Python_2.7.13_ENV):
(base) conda create --p C:\ProgramData\Anaconda3\envs\Python_2.7.13_ENV python=2.7.13
在上面安装了jupyter
(base) activate Python_2.7.13_ENV
(Python_2.7.13_ENV) conda install notebook ipykernel
(Python_2.7.13_ENV) python -m ipykernel install --p C:\Users\username\AppData\Roaming\jupyter\kernels\ --name Python_2.7.13_ENV --display-name "python_2.7.13"
我使用前缀符号作为默认的安装语法,为根用户安装它,我希望它只为特定用户安装。 这很有魅力。更新的jupyter kernelspec如下:
(base) jupyter kernelspec list
Available kernels:
python_3.5.6 C:\Users\username\AppData\Roaming\jupyter\kernels\python_3.5.6
python_2.7.13 C:\Users\username\AppData\Roaming\jupyter\kernels\python_2.7.13
并且kernel.json
文件也被映射到正确的python版本("C:\\ProgramData\\Anaconda3\\envs\\Python_2.7.13\\python.exe"
)
这也很有效。我可以在jupyter中打开一个文件并成功地在两个内核之间切换。你知道吗
是的。你知道吗
然后,我按照同样的步骤创建了第二个虚拟环境(Python_3.7.3_ENV):
现在,更新的kernelspec是:
(base) jupyter kernelspec list
Available kernels:
python_3.5.6 C:\Users\username\AppData\Roaming\jupyter\kernels\python_3.5.6
python_2.7.13 C:\Users\username\AppData\Roaming\jupyter\kernels\python_2.7.13
python_3.7.3 C:\Users\username\AppData\Roaming\jupyter\kernels\python_3.7.3
而且kernel.json
也被映射到正确的python版本。你知道吗
问题:
Python 2.7.13 kernel
时,它工作正常,但在切换到Python_3.7.3 kernel
时会显示一个ImportError: DLL load failed (due to some import issue in zmq)
。你知道吗Python_3.7.3_ENV
虚拟环境,然后加载jupyter笔记本时,我能够在所有三个Python版本之间切换。你知道吗如果可能的话,有人能提供一个解决方案,说明如何在所有三个版本之间切换而不事先激活虚拟环境,因为我可以使用Py 2.7和Py 3.5版本。
另外,我已经将右击ipynb文件时的“open with”默认值设置为jupyter-notebook.exe
。你知道吗
在这里和那里之后,唯一能让这个工作的方法就是激活虚拟环境。你知道吗
按照上述步骤,我安装了python2.7.13、3.5.6和3.7.3版本。我的默认python是python3.5.6,而其他两个版本分别安装在两个虚拟环境中
Python_2.7.13_ENV
和Python_3.7.3_ENV
。你知道吗对于Python2.7和3.5,只需正常使用
Jupyter notebooks
。由于默认python设置为Python 3.5.6
,因此使用Jupyter Notebook
工具栏中的Change Kernel
选项在两个版本之间切换没有问题。对于Python3.7,我们首先需要激活
Python_3.7.3_ENV
虚拟环境,然后使用Jupyter Notebook
中的Change Kernel
选项在所有三个版本之间成功切换。相关问题 更多 >
编程相关推荐