Import numpy throws error: SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape
Import numpy throws error: SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape
我已经在 Windows 10 下安装了 pyzo
和 miniconda
,并使用 conda install
安装了 numpy
和 matplotlib
。但是当我试图 运行
import numpy as np
import matplotlib.pyplot as plt
我收到此错误:
Traceback (most recent call last):
File "<tmp 1>", line 3, in <module>
import numpy
File "c:\users\jakub\miniconda3\lib\site-packages\numpy\__init__.py", line 165, in <module>
from numpy.__config__ import show as show_config
File "c:\users\jakub\miniconda3\lib\site-packages\numpy\__config__.py", line 5
lapack_mkl_info={'libraries': ['mkl_lapack95_lp64', 'mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll'], 'define_macros': [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)], 'include_dirs': ['c:\users\jakub\miniconda3\Library\include'], 'library_dirs': ['c:\users\jakub\miniconda3\Library\lib']}
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape
我的代码和目录结构中都没有任何非标准字符...我读过很多关于 UTF-8 类似问题的帖子,但这与初始导入期间发生的情况不同.
当 conda 安装包时,它会替换前缀,使内容可重定位。不幸的是,它不会智能地转义反斜杠,因此 Windows,这些未转义的反斜杠会导致您看到的错误。
在最新版本的 conda 中,我们在前缀替换中使用正斜杠,此问题消失了。如果你可以更新 conda,那就去吧。如果没有,numpy 在以下文件中有前缀:
"Lib/site-packages/numpy/distutils/site.cfg"
"Scripts/f2py.py"
"Lib/site-packages/numpy/config.py"
"Lib/site-packages/numpy/distutils/config.py"
特别检查后 3 个,并将所有未转义的反斜杠 (\) 替换为转义的反斜杠 (\\) 或正斜杠
因此,对于在
遇到麻烦的人
import numpy
使用 Windows 10 + 蟒蛇:
我将
中的所有单 '\' 替换为双 '\\'
\Lib\site-packages\numpy\__config__.py
之后我可以导入 numpy。
这对我来说是这样的:用户词前后双 \
。
例如:\users\admin\anaconda3\sample.wav
我在 Windows 7
上使用 python 3.6
不确定为什么 post 在路径中的用户词前后只保留一个 \
我已经在 Windows 10 下安装了 pyzo
和 miniconda
,并使用 conda install
安装了 numpy
和 matplotlib
。但是当我试图 运行
import numpy as np
import matplotlib.pyplot as plt
我收到此错误:
Traceback (most recent call last):
File "<tmp 1>", line 3, in <module>
import numpy
File "c:\users\jakub\miniconda3\lib\site-packages\numpy\__init__.py", line 165, in <module>
from numpy.__config__ import show as show_config
File "c:\users\jakub\miniconda3\lib\site-packages\numpy\__config__.py", line 5
lapack_mkl_info={'libraries': ['mkl_lapack95_lp64', 'mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll'], 'define_macros': [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)], 'include_dirs': ['c:\users\jakub\miniconda3\Library\include'], 'library_dirs': ['c:\users\jakub\miniconda3\Library\lib']}
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape
我的代码和目录结构中都没有任何非标准字符...我读过很多关于 UTF-8 类似问题的帖子,但这与初始导入期间发生的情况不同.
当 conda 安装包时,它会替换前缀,使内容可重定位。不幸的是,它不会智能地转义反斜杠,因此 Windows,这些未转义的反斜杠会导致您看到的错误。
在最新版本的 conda 中,我们在前缀替换中使用正斜杠,此问题消失了。如果你可以更新 conda,那就去吧。如果没有,numpy 在以下文件中有前缀:
"Lib/site-packages/numpy/distutils/site.cfg"
"Scripts/f2py.py"
"Lib/site-packages/numpy/config.py"
"Lib/site-packages/numpy/distutils/config.py"
特别检查后 3 个,并将所有未转义的反斜杠 (\) 替换为转义的反斜杠 (\\) 或正斜杠
因此,对于在
遇到麻烦的人import numpy
使用 Windows 10 + 蟒蛇:
我将
中的所有单 '\' 替换为双 '\\'\Lib\site-packages\numpy\__config__.py
之后我可以导入 numpy。
这对我来说是这样的:用户词前后双 \
。
例如:\users\admin\anaconda3\sample.wav
我在 Windows 7
上使用 python 3.6不确定为什么 post 在路径中的用户词前后只保留一个 \