You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派导入pandas时触发UnicodeDecodeError错误求助

解决树莓派上Pandas导入时的UnicodeDecodeError问题

问题场景

  • 环境:树莓派系统 Linux rp3b 5.10.17-v7+ #1414 SMP Fri Apr 30 13:18:35 BST 2021 armv7l GNU/Linux
  • 安装方式:通过 apt install python3-pandas 安装Pandas
  • 触发错误的脚本片段:
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import io
import subprocess
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates
import pandas as pd
import datetime
  • 报错信息:
Traceback (most recent call last):
  File "./plotGasPerMonth.py", line 9, in <module>
    import pandas as pd
  File "/home/pi/.local/lib/python3.7/site-packages/pandas/__init__.py", line 22, in <module>
    from pandas.compat import (
  File "/home/pi/.local/lib/python3.7/site-packages/pandas/compat/__init__.py", line 15, in <module>
    from pandas.compat.numpy import (
  File "/home/pi/.local/lib/python3.7/site-packages/pandas/compat/numpy/__init__.py", line 7, in <module>
    from pandas.util.version import Version
  File "/home/pi/.local/lib/python3.7/site-packages/pandas/util/__init__.py", line 1, in <module>
    from pandas.util._decorators import (  # noqa
  File "/home/pi/.local/lib/python3.7/site-packages/pandas/util/_decorators.py", line 14, in <module>
    from pandas._libs.properties import cache_readonly  # noqa
  File "/home/pi/.local/lib/python3.7/site-packages/pandas/_libs/__init__.py", line 13, in <module>
    from pandas._libs.interval import Interval
  File "pandas/_libs/interval.pyx", line 1, in init pandas._libs.interval
  File "pandas/_libs/hashtable.pyx", line 1, in init pandas._libs.hashtable
  File "pandas/_libs/missing.pyx", line 1, in init pandas._libs.missing
  File "/home/pi/.local/lib/python3.7/site-packages/pandas/_libs/tslibs/__init__.py", line 31, in <module>
    from pandas._libs.tslibs.conversion import (
  File "pandas/_libs/tslibs/conversion.pyx", line 63, in init pandas._libs.tslibs.conversion
  File "pandas/_libs/tslibs/parsing.pyx", line 1, in init pandas._libs.tslibs.parsing
  File "pandas/_libs/tslibs/offsets.pyx", line 1, in init pandas._libs.tslibs.offsets
  File "pandas/_libs/tslibs/timedeltas.pyx", line 61, in init pandas._libs.tslibs.timedeltas
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 14: invalid start byte

解决方案

1. 清理冲突的Pandas版本

报错路径显示Pandas加载自用户本地目录/home/pi/.local/lib/python3.7/site-packages,说明可能存在apt安装版本与pip安装版本的冲突。执行以下命令清理:

pip3 uninstall pandas -y
sudo apt reinstall python3-pandas -y

2. 检查并设置系统UTF-8编码

确保系统默认字符编码为UTF-8:

  • 查看当前编码:
echo $LANG
  • 若输出非UTF-8编码,通过树莓派配置工具修改:
sudo raspi-config

进入Localisation Options -> Locale,选择并设置UTF-8编码为默认,重启系统生效。

3. 在脚本中强制指定UTF-8编码

在脚本开头添加编码设置,再导入Pandas:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import os
import sys

os.environ['PYTHONUTF8'] = '1'
# Python3.7及以下版本可添加此句
if hasattr(sys, 'setdefaultencoding'):
    sys.setdefaultencoding('utf-8')

import io
import subprocess
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates
import pandas as pd
import datetime

4. 升级系统及依赖包

旧系统包可能存在兼容性问题,执行系统更新:

sudo apt update && sudo apt upgrade -y
sudo apt reinstall python3-pandas python3-numpy python3-matplotlib -y

内容的提问来源于stack exchange,提问作者monok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 00:47:30