Jupyter Notebook运行代码无反应问题及解决方法

目录
  • Jupyter Notebook运行代码无反应
  • jupyter notebook 某个cell 一直在运行
  • 总结

Jupyter Notebook运行代码无反应

在学习人脸识别知识的过程中需要用到Anaconda 、Jupyter Notebook.

我在启动Jupyter Notebook后,新建代码运行无反应。

从页面上也观察不出来是什么问题,后来在Anaconda Pormpt中启动Jupyter Notebook,我一开始还以为是自动启动的,傻傻的等它自动运行。。。

结果是在浏览器中操作,命令行中才会跑模块的运行情况。

要在浏览器中shift+enter执行代码片段,后台包这个错误。

(tensorflow) C:\Users\admin>jupyter notebook
[I 15:55:33.979 NotebookApp] The port 8888 is already in use, trying another port.
[I 15:55:34.011 NotebookApp] The port 8889 is already in use, trying another port.
[I 15:55:34.130 NotebookApp] Serving notebooks from local directory: C:\Users\admin
[I 15:55:34.131 NotebookApp] The Jupyter Notebook is running at:
[I 15:55:34.137 NotebookApp] http://localhost:8890/?token=7d8aff641154f969e61dec8ebd511d98849f08829e440fe0
[I 15:55:34.139 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 15:55:34.220 NotebookApp]
 
    To access the notebook, open this file in a browser:
        file:///C:/Users/admin/AppData/Roaming/jupyter/runtime/nbserver-24428-open.html
    Or copy and paste one of these URLs:
        http://localhost:8890/?token=7d8aff641154f969e61dec8ebd511d98849f08829e440fe0
Traceback (most recent call last):
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\tornado\ioloop.py", line 888, in start
    handler_func(fd_obj, events)
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\tornado\stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\zmq\eventloop\zmqstream.py", line 450, in _handle_events
    self._handle_recv()
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\zmq\eventloop\zmqstream.py", line 480, in _handle_recv
    self._run_callback(callback, msg)
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\zmq\eventloop\zmqstream.py", line 432, in _run_callback
    callback(*args, **kwargs)
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\tornado\stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\ipykernel\kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\ipykernel\kernelbase.py", line 233, in dispatch_shell
    self.pre_handler_hook()
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\site-packages\ipykernel\kernelbase.py", line 248, in pre_handler_hook
    self.saved_sigint_handler = signal(SIGINT, default_int_handler)
  File "C:\Users\admin\Anaconda3\envs\tensorflow\lib\signal.py", line 47, in signal
    handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler))
ValueError: signal only works in main thread
[IPKernelApp] WARNING | Parent appears to have exited, shutting down.

然后参考https://www.jb51.net/article/271651.htm  解决。

(tensorflow) C:\Users\admin>pip install "pyzmq==17.0.0" "ipykernel==4.8.2"
Collecting pyzmq==17.0.0
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)",)': /simple/pyzmq/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)",)': /simple/pyzmq/
  Downloading https://files.pythonhosted.org/packages/27/0b/a275f30738a014dc25443d2f45156ca739991df581fdaa40aa19df6c4f86/pyzmq-17.0.0-cp36-cp36m-win_amd64.whl (944kB)
    100% |████████████████████████████████| 952kB 49kB/s
Collecting ipykernel==4.8.2
  Downloading https://files.pythonhosted.org/packages/ab/3f/cd624c835aa3336a9110d0a99e15070f343b881b7d651ab1375ef226a3ac/ipykernel-4.8.2-py3-none-any.whl (108kB)
    100% |████████████████████████████████| 112kB 58kB/s
Requirement already satisfied: ipython>=4.0.0 in c:\users\admin\anaconda3\envs\tensorflow\lib\site-packages (from ipykernel==4.8.2) (6.1.0)
Requirement already satisfied: tornado>=4.0 in c:\users\admin\anaconda3\envs\tensorflow\lib\site-packages (from ipykernel==4.8.2) (4.5.2)
Requirement already satisfied: traitlets>=4.1.0 in c:\users\admin\anaconda3\envs\tensorflow\lib\site-packages (from ipykernel==4.8.2) (4.3.2)
Requirement already satisfied: jupyter-client in c:\users\admin\anaconda3\envs\tensorflow\lib\site-packages (from ipykernel==4.8.2) (5.2.4)
Requirement already satisfied: jupyter-core in c:\users\admin\anaconda3\envs\tensorflow\lib\site-packages (from jupyter-client->ipykernel==4.8.2) (4.4.0)
Requirement already satisfied: python-dateutil>=2.1 in c:\users\admin\anaconda3\envs\tensorflow\lib\site-packages (from jupyter-client->ipykernel==4.8.2) (2.6.1)
Requirement already satisfied: six>=1.5 in c:\users\admin\anaconda3\envs\tensorflow\lib\site-packages (from python-dateutil>=2.1->jupyter-client->ipykernel==4.8.2) (1.10.0)
Installing collected packages: pyzmq, ipykernel
  Found existing installation: pyzmq 17.1.2
    Uninstalling pyzmq-17.1.2:
      Successfully uninstalled pyzmq-17.1.2
  Found existing installation: ipykernel 4.6.1
Cannot uninstall 'ipykernel'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

安装时报错,ipykernel不能卸载,我也尝试过重新装,一直报这个错误。索性没管它,直接再浏览器中重新运行就可以正常运行了。

这是修复后的运行效果。

jupyter notebook 某个cell 一直在运行

近期调试程序,发现一简单的代码一直在运行,很长时间不终止,代码如下:

whole_df=pd.read_csv(r'./train.csv')
 
community=whole_df['COMMUNITY_ID'].unique()
 
for community_id in community:
 
    temp=check_result[check_result['COMMUNITY_ID']==community_id]
 
    start=temp.index.tolist()[0]
 
    delanomaly_test(temp,start) 

其中delanomaly_test 是对测试数据进行处理异常值的函数,函数里有对形参temp进行赋值的操作,而temp 是whole_df的切片,执行后,出现了很多提示:

/usr/local/python3/lib/python3.6/site-packages/pandas/core/indexing.py:1763: SettingWithCopyWarning:

A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

一大串的全是提示,而且还一直扩展向下,过了10分钟,不再出现提示,但是这段cell 执行符号里显示‘*’,为一直在执行,本身数据量不大,community 为200个,check_result为8万条,应该2、3分钟就结束了但是又过5分钟还是‘*’号,点‘Interrupt the kernel ’也是很长时间没反应。用写标准输出+写文件的方式测试下:

whole_df=pd.read_csv(r'./train.csv')
 
community=whole_df['COMMUNITY_ID'].unique()
filename='proeceeing.txt'
 
with open(file_name,'w+') as f:
 
    f.write(file_name)
 
w=0 #进度的变量
 
for community_id in community:
 
    if w%50==0:
 
        print('w=%s' %str(w)) #打印至标准输出
 
        f=open(file_name,'a')
 
        f.write('\n     '+str(w)+':')#写入文件
 
        f.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))  
 
        f.close()
 
    temp=check_result[check_result['COMMUNITY_ID']==community_id]
 
    start=temp.index.tolist()[0]
 
    delanomaly_test(temp,start)
 
    w=w+1
print('w=%s' %str(w)) #打印至标准输出
 
f=open(file_name,'a')
 
print('w=%s' %str(w))
 
f.write('\n     '+str(w)+':') #写入文件
 
f.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
 
f.write('\n check_result executed ')
 
f.close()

执行后,文件内容如下:

processing.txt
     0:2021-08-25 21:14:38
     50:2021-08-25 21:14:43
     100:2021-08-25 21:14:49
     150:2021-08-25 21:14:54
     200:2021-08-25 21:15:00
 check_result executed

看来这段代码在一分钟之内已经执行完毕,再看标准输出,还是有很多之前的提示,同时标示进度的w值里,只发现了三条:

w=0

w=50

w=100

再向后就只有提示,再向后提示也终止了

因此这段代码一直执行的可能原因是短时间内写大量内容至标准输出,标准输出缓冲区满,无法打印提示和之后的内容,但程序实际已执行完毕。最后删除delanomaly_test 函数里的切片赋值语句,发现这段代码很快结束,至此问题有三个:切片不可直接赋值,标准输出不可靠,每个提示都要细看

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • jupyter notebook运行代码没反应且in[ ]没有*

    前言: 在刚解决jupyter notebook打不开网页的问题后,我迫不及待地写了Python的代码,看看运行的结果如何.于是,我输入了print("Hello, world"),期待地点了一下运行,结果它直接跳到下一行了......也没有任何的输出,然后右上角显示Python3 的是实心的.显示内核正忙,然后我就开始尝试各种方法了,网上大部分的方法都是解决in[*]的问题,但是我的in[ ]里面是一点东西都没有,既没有数字也没有“*”.(因为是已经解决完了,所以没有事发的原图,还请

  • 解决jupyter 在浏览器中 代码不执行的问题

    在机器学习的时候,当开始就遇到问题,pycharm启动jupyter notebook之后,浏览器前两行代码执行的好好的,后面就不执行了,上面的键全点了一遍(英语不行,见谅- -,死马当活马医). 还是不行,后来,返现右上角python3旁边有个圈,当我重新启动的时候圈空心的 这时候代码可以正常执行:但变成实心的时候就不会执行了 下面in的情况,正常执行的应该是 不执行的时候是 这时候上面的圈也变成了实心的 这种情况,是代码中出现了错误,导致不能继续进行了,影响了整个执行过程, 解决方法 in[

  • Jupyter Notebook运行代码无反应问题及解决方法

    目录 Jupyter Notebook运行代码无反应 jupyter notebook 某个cell 一直在运行 总结 Jupyter Notebook运行代码无反应 在学习人脸识别知识的过程中需要用到Anaconda .Jupyter Notebook. 我在启动Jupyter Notebook后,新建代码运行无反应. 从页面上也观察不出来是什么问题,后来在Anaconda Pormpt中启动Jupyter Notebook,我一开始还以为是自动启动的,傻傻的等它自动运行... 结果是在浏览器

  • Jupyter notebook运行Spark+Scala教程

    今天在intellij调试spark的时候感觉每次有新的一段代码,都要重新跑一遍,如果用spark-shell,感觉也不是特别方便,如果能像python那样,使用jupyter notebook进行编程就很方便了,同时也适合代码展示,网上查了一下,试了一下,碰到了很多坑,有些是旧的版本,还有些是版本不同导致错误,这里就记录下来安装的过程. 1.运行环境 硬件:Mac 事先装好:Jupyter notebook,spark2.1.0,scala 2.11.8 (这个版本很重要,关系到后面的安装)

  • 使用jupyter notebook运行python和R的步骤

    一个图形化的交互式运行环境,对于编程语言的学习和开发,特别是可视化方面,提供了极大的便利.比如在window上使用R语言进行绘图,在R语言自带的交互环境中,可以实时观测到代码的可视化效果,从而方便的进行参数调整. python语言基于命令行的交互式运行环境,可以方便的测试和运行简单代码,但是对于可视化的支持不是很友好,为此,有开发人眼开发出了ipython这一加强版的交互式运行环境,在ipython的基础上,又进一步打造出了jupyter notebook这一强大的交互式运行环境. jupyte

  • jupyter notebook运行命令显示[*](解决办法)

    看下文章前我想先说一个问题 遇到问题不要盲目的搜索答案,先看看终端提示什么错误,下面我总结一下会出现jupyter notebook运行命令,一直显示in[*]这种情况的解决办法: 了解提示符in[ ]几种状态的含义: in[ ] 程序未运行 in[*] 程序正在运行 in[编号] 程序正在运行 1.因为notebook未安装正确 解决办法: 使用命令安装 pip3 install notebook 提示权限不够使用 sudo pip3 install notebook 2.因为jupyter包

  • jupyter notebook 写代码自动补全的实现

    操作步骤 进入命令行环境.我使用的是conda.有两种方式进入命令行. 方法1:通过anconda navigator界面,选择environments,选择对应环境名,选择open terminal 方法2:直接使用cmd或者terminal等终端进入命令行.激活你想要配置代码补全的环境(如果是默认环境不用激活) 1.安装nbextensions pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.

  • Jupyter Notebook添加代码自动补全功能的实现

    安装显示目录功能: pip install jupyter_contrib_nbextensions 配置:安装完之后需要配置 nbextension,注意配置的时候要确保已关闭 Jupyter Notebook jupyter contrib nbextension install --user --skip-running-check 启动 Jupyter Notebook,勾选设置 上面两个步骤都没报错后,启动 Jupyter Notebook,上面选项栏会出现 Nbextensions

  • Jupyter Notebook运行JavaScript的方法

    后面也加了怎么在 VSC 中使用 Jupyter Notebook-- 安装 Anaconda 安装部分我是直接使用 Anaconda 安装的,这个下载 msi 就可以了,没有什么难的. 遇到报错,以及配置 Anaconda 报错信息如下: D:\>jupyter notebook Traceback (most recent call last): File "C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script.py"

  • pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)

    有时候我们需要在程序里执行一些cmd命令,使用os或者其它模块中的popen方法去执行 这个问题一般是程序内有输入导致的,这个输入可以是input(),也可以是其它的一些stdin操作(如os.popen实际上会造成输入请求) 本质上就是:使用-w参数(无控制台)打包时程序里不要请求输入 或者,你也可以不用-w参数,手动隐藏控制台! 有一天,我把使用了os.popen方法的python程序用pyinstaller打包成exe(用了无控制台打包参数-w) 双击运行时程序却弹框报错! 我就有点纳闷:

  • python 服务器运行代码报错ModuleNotFoundError的解决办法

    一.问题描述 一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No module named 'xxx' 错误. 二.问题原因 在代码中引入了其他文件的包(自己写的包,非 pip 安装的),问题出在 import 那行语句. 错误的原因是因为路径的原因,服务器端的路径和我们本地的路径不一样显示. 三.解决示例 要解决这个问题,可以在自己代码的顶端加入以下代码: import sys import os sys.path.

随机推荐