ImportError: cannot import name 'write_connection_file' from 'jupyter_client' (/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/jupyter_client/__init__.py)
[I 15:25:53.529 NotebookApp] KernelRestarter: restarting kernel (4/5), new random ports
/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/jupyter_client/__init__.py:23: UserWarning: Could not import submodules
warnings.warn("Could not import submodules")
Traceback (most recent call last):
File "/home/software/anaconda3/envs/mydlenv/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/software/anaconda3/envs/mydlenv/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/ipykernel_launcher.py", line 15, in <module>
from ipykernel import kernelapp as app
File "/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/ipykernel/__init__.py", line 5, in <module>
from .connect import * # noqa
File "/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/ipykernel/connect.py", line 12, in <module>
from jupyter_client import write_connection_file
ImportError: cannot import name 'write_connection_file' from 'jupyter_client' (/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/jupyter_client/__init__.py)
[W 15:25:56.539 NotebookApp] KernelRestarter: restart failed
使用命令jupyter kernelspec list可以查看当前的kernel
$ jupyter kernelspec list
删除Jupyter kernel
使用命令
$ jupyter kernelspec remove kernelname
可以删除目标kernel
有一个单独的目录保存kernel文件,里面的kernel.json文件保存了jupyter notebook kernel的配置信息:(下面是已经配好之后的信息,原来的已经删掉了)
/* 文件路径:/Users/flyhero/anaconda3/share/jupyter/kernels/python3/kernel.json */
{
"argv": [
"/Users/flyhero/anaconda3/bin/python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
使用命令jupyter kernelspec remove 'kernelname'
可以删除指定的kernel
使用命令jupyter kernelspec list
可以查看jupyter所有的kernel
向Jupyter中添加conda虚拟环境
之前觉得自己菜的抠脚,也不敢深究,能用就行。现在有时间,便了解的更仔细一点。jupyter notebook运行需要的kernel和conda创建的虚拟环境并不能完全互通。利用conda创建了虚拟环境,但是启动jupyter notebook之后却找不到虚拟环境。实际上是由于在虚拟环境下缺少kernel.json文件。解决方案如下:
首先安装ipykernel:conda install ipykernel
在虚拟环境下创建kernel文件:conda install -n 环境名称 ipykernel
激活conda环境:source activate 环境名称
将环境写入notebook的kernel中:
python -m ipykernel install --user --name 环境名称 --display-name "你想为kernel添加的名称"
如果经常需要用jupyter notebook,那么最好在创建虚拟环境的时候便安装好ipykernel:
conda create -n 环境名称 python=3.5 ipykernel
第一步:了解Jupyter Kernel如何启动的
当我们使用conda activate py3.8 启动环境之后,如果当前环境中安装了jupyter和ipykernel两个包,我们就可以使用命令:jupyter notebook,在当前环境启动jupyter服务。此时在网页右上角中我们可以看到创建Notebook的地方出现了Python3(ipykernel),这意味着此时创建的jupyter notebook文件默认的内核是py3.8环境的内核(其实很容易想到,因为我们启动jupyter notebook这个服务就是在py3.8这个环境下启动的所以默认的内核自然应该是py3.8的)。
第二步:创建新内核
如果我们想要使用其他的环境,意味着我们需要重新conda activate 环境名,再启动jupyter notebook服务,再创建Notebook,这一套操作十分麻烦,有没有更简单的呢?如果可以在同一个jupyter notebook服务链接到其他环境内核(不再使用默认的内核)是不是就可以不用这么麻烦了呢?
按照本文的例子,我现在想要在py3.8的环境里,创建Notebook时使用py3.7的内核。该怎么操作呢?
首先,启动py3.7环境(conda activate py3.7 ),并且在该环境(py3.7)下安装jupyter和ipykernel两个包。接下来我们需要使用命令行将当前环境内核(py3.7)添加到.local/share/jupyter/kernels/配置文件中,在任何环境里启动的jupyter都是可以看到该配置文件,因此只要把内核环境(此处是py3.7)注册到这个文件中,接下来无论在什么环境启动jupyter notebook服务都是可以该内核的。命令行如下:
python -m ipykernel install --user --name py3.7(这里名字可以随便取可以是hello等)
如果顺利,会返回以下命令:
这时候就能说明该环境(py3.7)已经注册到.local/share/jupyter/kernels/配置文件中了。这里要注意,命令行中--name 后面名字可以随便写,但是我们一定要在指定环境中输入以上命令行,如果你在python3.6环境中输入,此时注册的就是python3.6的内核(虽然内核名字叫做py3.7)。如果你在python3.9环境输入以上命令行,此时注册的就是3.9内核。
第三步:重启Jupyter服务
重启jupyter服务之后(刷新页面也可以),我们就可以看到此处已经有其他的内核选项了。此时就说明内核添加成功了。
第四步:其他常用命令
这里提供一些其他常用的命令。
查看当前可用的kernel:
jupyter kernelspec list
使用这个命令需要注意,看下我的结果。
箭头所指的环境是指当前环境下的jupyter内核,而从py3.7内核(第一行)的路径可以知道这个是公用的(根据前面的解释可以知道已经注册到了.local/share/jupyter/kernels/配置文件中),任何环境下都能看到这个py3.7这个内核。而第二行python3的这个内核其实就是当前环境的默认内核(如果你conda activate 其他环境,这里会变的)。
删除kernel:
jupyter kernelspec remove 内核名
卸载,然后,安装
卸载,然后,安装
ModuleNotFoundError: No module named 'zmq.eventloop'
pip uninstall pyzmq
ImportError: cannot import name 'JsonSchemaException' from 'fastjsonschema' (unknown location)
pip install --force-reinstall --no-deps fastjsonschema==2.16.2
WARNING: Skipping JsonSchemaException as it is not installed.
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
您在 /var/spool/mail/root 中有邮件
(mydlenv) [root@bin]# pip install JsonSchemaException
ERROR: Could not find a version that satisfies the requirement JsonSchemaException (from versions: none)
ERROR: No matching distribution found for JsonSchemaException
(mydlenv) [root@bin]# pip uninstall fastjsonschema
Found existing installation: fastjsonschema 2.16.2
ERROR: Cannot uninstall fastjsonschema 2.16.2, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps fastjsonschema==2.16.2'.
(mydlenv) [root@bin]# pip install --force-reinstall --no-deps fastjsonschema==2.16.2
Collecting fastjsonschema==2.16.2
Using cached fastjsonschema-2.16.2-py3-none-any.whl (22 kB)
Installing collected packages: fastjsonschema
Attempting uninstall: fastjsonschema
Found existing installation: fastjsonschema 2.16.2
ERROR: Cannot uninstall fastjsonschema 2.16.2, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps fastjsonschema==2.16.2'.
/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py
/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py
/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_exceptions.cpython-38.pyc
/home/software/anaconda3/envs/mydlenv/lib/python3.8/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_validations.cpython-38.pyc
REF
https://www.cnblogs.com/CircleWang/p/15882638.html
https://zhuanlan.zhihu.com/p/81605893
- write_connection_file 39 jupyter_client ImportError connectionwrite_connection_file 39 jupyter_client importerror write_connection_file selenium import 39 importerror opengl 39 importerror library 39 importerror cannot import 39 importerror qt3dcore 3dcore 39 importerror collections iterable 39 importerror initialized partially 39 importerror parse_xml cannot 39 importerror cannot reader