matplotlib 导入numpy抛出错误:语法错误:(unicode错误)'unicodeescape'编解码器无法解码位置2-3中的字节:截断\uXXXX转义

xwbd5t1u  于 2023-05-07  发布在  其他
关注(0)|答案(4)|浏览(167)

我已经在Windows 10下安装了pyzominiconda,并使用conda install安装了numpymatplotlib。但当我想逃跑的时候

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的类似问题的文章,但这是不同的,因为它发生在初始导入过程中。

8ulbf1ek

8ulbf1ek1#

当conda安装软件包时,它会替换前缀,以使内容可重定位。不幸的是,它不会智能地转义反斜杠,因此在Windows上,这些未转义的反斜杠会导致您看到的错误。
在最近的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个,并将所有非转义反斜杠(\)替换为转义反斜杠(\)或正斜杠

cmssoen2

cmssoen22#

所以,对于那些

import numpy

使用Windows 10 + Anaconda:
我将中的所有单“\”替换为双“\”

\Lib\site-packages\numpy\__config__.py

我可以在那之后导入numpy。

gr8qqesn

gr8qqesn3#

这就是它如何为我工作:双\之前和之后的用户的话。
例如:\\users\\admin\anaconda3\sample.wav
我在Windows 7上使用Python 3.6
不知道为什么帖子只在路径中保留一个\ after和before用户单词

cqoc49vn

cqoc49vn4#

import sys
print(sys.path)
sys.path.append('K:\Udemy\PYTHON\college')

在导入sys路径时发生了这种情况。尝试将所有单个“\”替换为“\”。希望你能在那之后进口。

import sys
print(sys.path)
sys.path.append('K:\\Udemy\PYTHON\\college')

相关问题