MacStudio M1创建conda环境报错:ModuleNotFoundError: No module named 'chardet' - 动手学深度学习PyTorch版

conda create –name d2l python=3.9 -y 执行时报如下错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
%conda create --name d2l python=3.9 -y
/Users/d2l/miniconda3/lib/python3.10/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")
/Users/d2l/miniconda3/lib/python3.10/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

Traceback (most recent call last):
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/requests/compat.py", line 11, in <module>
import chardet
ModuleNotFoundError: No module named 'chardet'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/conda/exceptions.py", line 1132, in __call__
return func(*args, **kwargs)
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/conda/cli/main.py", line 69, in main_subshell
exit_code = do_call(args, p)
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/conda/cli/conda_argparse.py", line 120, in do_call
module = import_module(relative_mod, __name__.rsplit('.', 1)[0])
File "/Users/d2l/miniconda3/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/conda/cli/main_create.py", line 14, in <module>
from ..notices import notices
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/conda/notices/__init__.py", line 3, in <module>
from .core import notices # noqa: F401
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/conda/notices/core.py", line 16, in <module>
from . import fetch
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/conda/notices/fetch.py", line 8, in <module>
import requests
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/requests/__init__.py", line 45, in <module>
from .exceptions import RequestsDependencyWarning
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/requests/exceptions.py", line 9, in <module>
from .compat import JSONDecodeError as CompatJSONDecodeError
File "/Users/d2l/miniconda3/lib/python3.10/site-packages/requests/compat.py", line 13, in <module>
import charset_normalizer as chardet
ModuleNotFoundError: No module named 'charset_normalizer'

解决方法如下

1
2
3
4
5
6
7
8
9
10
11
# 安装chardet
python3 -m pip install chardet
# 查看chardet安装路径
python3 -m pip show chardet
...
Location: /Users/d2l/Library/Python/3.9/lib/python/site-packages
...
# 拷贝chardet包到miniconda目录下
cp -R ~/Library/Python/3.9/lib/python/site-packages/chardet ~/miniconda3/lib/python3.10/site-packages/
# 再次执行d2l环境创建命令,顺利完成
conda create --name d2l python=3.9 -y