我已经在Windows 7专业版64位处理器中用python 3.x安装了anaconda3。 在python 3内核中打开新的jupyter笔记本时。它显示错误消息为 “断言失败:套接字[10041] c:\ ci \ zeromq_1549025594292 \ work \ src \ ip.cpp:417的协议错误类型”
并且python停止运行。 请帮助解决该问题。
关于, Geetha S
期待新笔记本打开进行编码
答案 0 :(得分:1)
最后使用2种替代方法解决了这一问题:
从2018年11月开始repo archive并下载anaconda3 5.3.1
(这是python 3.7的最早版本)。通过匹配python
和jupyter
等的版本,这解决了我的问题。[此外,如果您正在使用归档文件下载较旧的版本,则下面的链接告诉您运行python的版本那个特定版本的蟒蛇link]
一种解决方法是下载最新版本,并使用python 3.5
或3.6
创建新环境,如上所述。为此:
-在anaconda提示符下键入:
“ conda create -n py35 python = 3.5 anaconda”或
“ conda create -n py36 python = 3.6 anaconda”。
这需要一段时间,但最后会要求您输入类似的内容:
“ conda激活py36”以激活新环境。
要确保已激活,请输入:
“ conda信息--envs”。
在显示的环境列表中,活动环境以星号(*)突出显示。
那应该可行,但为了安全起见,请转到anaconda导航器,然后在左侧环境。左键单击"play button"
和"open with jupyter notebook"
答案 1 :(得分:0)
我认为我的答案可能会晚一点
此错误来自PC上安装的python版本比jupyter笔记本电脑内的版本更旧
要解决此问题,您可以通过conda命令降级您的版本,或者
创造一个新的环境:
conda创建-n py35 python = 3.5 anaconda
记得更改您自己的版本
答案 2 :(得分:0)
我也遇到了同样的问题(在Windows 7上也是如此),并设法使其工作。由于这里的答案似乎不太明确,我想我会记录下我采取的步骤。
从本质上讲,我没有弄清楚出什么问题了,但是我只是尝试了不同的版本,直到它起作用为止。我的基准miniconda3是64位的,尽管我认为这并不重要,因为我创建了第二个非基础环境来运行。无论如何,我的miniconda3安装程序是
Miniconda3-latest-Windows-x86_64.exe 2020-03-11 10:38:26 20d6bd9b3bd62f1fd874315b6b38c159
另外,其他答案是安装anaconda,这需要很长时间和大量磁盘空间。我只是使用了miniconda,它体积更小,安装速度更快,并且您可以根据需要下载相同的软件包。
我的步骤是
这是我使用的命令:
conda create --name python36 python=3.6
conda activate python36
conda install zeromq=4.2.2
conda install numpy
这是我最终得到的软件包版本(我忽略了一些我认为不重要的软件包):
ipykernel 5.1.4 py36h39e3cac_0
ipython 7.13.0 py36h5ca1d4c_0
ipython_genutils 0.2.0 py36_0
ipywidgets 7.5.1 py_0
jupyter 1.0.0 py36_7
jupyter_client 6.1.3 py_0
jupyter_console 6.1.0 py_0
jupyter_core 4.6.3 py36_0
libsodium 1.0.16 h9d3ae62_0
matplotlib 3.1.3 py36_0
matplotlib-base 3.1.3 py36h64f37c6_0
mkl 2020.1 216
mkl-service 2.3.0 py36hb782905_0
mkl_fft 1.0.15 py36h14836fe_0
mkl_random 1.1.1 py36h47e9c7a_0
msys2-conda-epoch 20160418 1
notebook 6.0.3 py36_0
numpy 1.18.1 py36h93ca92e_0
numpy-base 1.18.1 py36hc3f5095_1
prompt-toolkit 3.0.5 py_0
prompt_toolkit 3.0.5 0
python 3.6.10 h9f7ef89_2
python-dateutil 2.8.1 py_0
pywin32 227 py36he774522_1
pywinpty 0.5.7 py36_0
pyzmq 17.0.0 py36hfa6e2cd_0
qt 5.9.7 vc14h73c81de_0
sqlite 3.31.1 h2a8f88b_1
terminado 0.8.3 py36_0
testpath 0.4.4 py_0
tornado 6.0.4 py36he774522_1
winpty 0.4.3 4
zeromq 4.2.2 h7a7be3a_2
要启动jupyter,我创建了一个.bat文件:
set conda_root=C:\Users\username\miniconda3
set work_root=D:\projects\EdX
d:
cd %work_root%
call %conda_root%\Scripts\activate.bat python36
call jupyter notebook
echo Jupyter server stopped
pause
(我的.ipynb文件位于work_root
文件夹中。)
可以使用pause
命令保持cmd.exe窗口打开,以便您可以在其中读取任何消息或错误的jupyter日志,但是每次停止服务器时都必须手动关闭该窗口。
我在Anaconda Prompt cmd.exe窗口中确实收到了弃用警告:
C:\Users\username\miniconda3\envs\python36\lib\site-packages\notebook\services\kernels\kernelmanager.py:19:
VisibleDeprecationWarning: zmq.eventloop.minitornado is deprecated in pyzmq 14.0 and will be removed.
Install tornado itself to use zmq with the tornado IOLoop.
但是现在我不在乎。