【问题标题】:Import numpy throws error: SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape导入 numpy 抛出错误:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape
【发布时间】:2016-10-31 07:26:35
【问题描述】:

我在 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 类似问题的帖子,但这与初始导入期间发生的情况不同。

【问题讨论】:

  • 检查您的安装是否完成并正常工作,例如参见this very recent post。重新安装软件包可能会有所帮助。
  • @QoP:对回溯使用代码格式,而不是引用格式。
  • 试图 conda 卸载 numpy 然后重新安装,但问题仍然存在...有些模块可以导入有些不能...

标签: numpy matplotlib unicode utf-8 unicode-escapes


【解决方案1】:

当 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 个,并将任何未转义的反斜杠 (\) 替换为转义的反斜杠 (\\) 或正斜杠

【讨论】:

    【解决方案2】:

    所以,对于遇到麻烦的人

    import numpy
    

    使用 Windows 10 + Anaconda:

    我在

    中将所有单 '\' 替换为双 '\\'
    \Lib\site-packages\numpy\__config__.py
    

    之后我可以导入 numpy。

    【讨论】:

    • 因此,吸取的教训是:如果您在 Python 3 中遇到 Unicode 语法错误,请查看您的源代码中是否有任何反斜杠字符 ('\')。如果没有,请查看库。它们可能包含冒犯性的角色。找到后,将它们替换为正斜杠或双反斜杠。
    【解决方案3】:

    这对我来说是这样工作的:在用户词之前和之后加倍 \

    例如:\\users\\admin\anaconda3\sample.wav

    我在 Windows 7 上使用 python 3.6

    不知道为什么帖子在路径中用户单词前后只保留一个\

    【讨论】:

      猜你喜欢
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 2022-11-10
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多