Record an error when starting a Jupyter Notebook
Environment
Win10 default installed environment py3.9 32bit, jupyter book is installed in the virtual environment py3.9 (64bit) established by conda
Question 1
Jupyter notebook starts the kernel and always shows that reconnecting finally failed
An error is reported every time it starts: ModuleNotFoundError: No module named 'psutil._psutil_windows'
Traceback (most recent call last): File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel_launcher.py", line 15, in <module> from ipykernel import kernelapp as app File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\kernelapp.py", line 51, in <module> from .ipkernel import IPythonKernel File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\ipkernel.py", line 19, in <module> from .comm.comm import BaseComm File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\comm\__init__.py", line 3, in <module> from .comm import Comm File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\comm\comm.py", line 14, in <module> from ipykernel.kernelbase import Kernel File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\kernelbase.py", line 35, in <module> import psutil File "C:\Users\meij1\AppData\Roaming\Python\Python39\site-packages\psutil\__init__.py", line 109, in <module> from . import _pswindows as _psplatform File "C:\Users\meij1\AppData\Roaming\Python\Python39\site-packages\psutil\_pswindows.py", line 35, in <module> from ._psutil_windows import ABOVE_NORMAL_PRIORITY_CLASS ModuleNotFoundError: No module named 'psutil._psutil_windows'
According to the information, it is found that the virtual environment py3.9 is imported from the py39 of the external local environment when importing psutil
, and it turns out that there is no psutil module in this environment.
Try again after reinstalling psutil with pip in the base environment:
Question 2
Run it again and report an error instead of ImportError: DLL load failed while importing _psutil_windows: %1 is not a valid Win32 application
: It looks like a 32-bit program is running on a 64-bit system.
Traceback (most recent call last): File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel_launcher.py", line 15, in <module> from ipykernel import kernelapp as app File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\kernelapp.py", line 51, in <module> from .ipkernel import IPythonKernel File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\ipkernel.py", line 19, in <module> from .comm.comm import BaseComm File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\comm\__init__.py", line 3, in <module> from .comm import Comm File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\comm\comm.py", line 14, in <module> from ipykernel.kernelbase import Kernel File "C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9\lib\site-packages\ipykernel\kernelbase.py", line 35, in <module> import psutil File "C:\Users\meij1\AppData\Roaming\Python\Python39\site-packages\psutil\__init__.py", line 109, in <module> from . import _pswindows as _psplatform File "C:\Users\meij1\AppData\Roaming\Python\Python39\site-packages\psutil\_pswindows.py", line 35, in <module> from ._psutil_windows import ABOVE_NORMAL_PRIORITY_CLASS ImportError: DLL load failed while importing _psutil_windows: %1 is not a valid Win32 application.
After some research, I found that the problem is that the local environment interferes with my py3.9 virtual environment. The psutil installed in the local environment is 32bit, But the default setting of the virtual environment py3.9 is 64bit platform, see the following platform:win-64
(py3.9) C:\Users\meij1\Videos>conda info active environment: py3.9 active env location : C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs\py3.9 shell level: 2 user config file: C:\Users\meij1\.condarc populated config files: C:\Users\meij1\.condarc conda version: 4.12.0 conda-build version : not installed python version: 3.9.7.final.0 virtual packages: __win=0=0 __archspec=1=x86_64 base environment : C:\Users\meij1\3D Objects\Anarchy\Miniconda3 (writable) conda av data dir : C:\Users\meij1\3D Objects\Anarchy\Miniconda3\etc\conda conda av metadata url : None channel URLs: https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch https://repo.anaconda.com/pkgs/main/win-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/win-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/msys2/win-64 https://repo.anaconda.com/pkgs/msys2/noarch package cache : C:\Users\meij1\3D Objects\Anarchy\Miniconda3\pkgs C:\Users\meij1\.conda\pkgs C:\Users\meij1\AppData\Local\conda\conda\pkgs envs directories : C:\Users\meij1\3D Objects\Anarchy\Miniconda3\envs C:\Users\meij1\.conda\envs C:\Users\meij1\AppData\Local\conda\conda\envs **platform : win-64** user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.7 Windows/10 Windows/10.0.19042 administrator : False netrc file : None offline mode : False
It should be that the existence of the two environments confuses psutil. After uninstalling the 32bit psutil of this machine, reinstalling the psutil of py3.6 will be no problem.
Problem Solved
The kernel starts normally
[I 22:47:29.154 NotebookApp] Kernel started: 37ce7359-26a5-4911-acbe-6ae21e40bce3, name: python3 [I 22:49:29.675 NotebookApp] Saving file at /Jupyter Notebook/Untitled.ipynb
After the fact
- Analyze the specific environment based on the error message base/py3.9…
- It is recommended that after installing minicoda/Anaconda, the local python environment can be deleted to avoid some strange problems.
- How to modify the platform information of conda.
conda config --env --set subdir win-32 #under windows conda config --env --set subdir linux-32 # under linux