树莓派3运行Python脚本提示找不到ezsheets与telethon模块的排查求助
排查树莓派上Python模块找不到的问题
这种问题在树莓派上真的挺常见的,大多是Python版本不匹配或者包安装路径不对导致的,我给你梳理几个实用的排查方向和解决办法:
1. 先确认运行脚本的Python版本和pip3对应版本一致
树莓派默认可能同时装了Python2和Python3,甚至多个Python3小版本,很容易搞混:
- 先看你平时运行脚本的命令:如果是
python script.py,那大概率调用的是Python2,而你用pip3装的是Python3的模块,自然找不到!换成python3 script.py试试。 - 验证版本匹配:运行
pip3 --version,会显示它关联的Python版本(比如pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.7)),再运行python3 --version,确保两个版本号一致。如果不一致,说明你装了多个Python3版本,pip3把模块装到了其中一个版本,但你用另一个版本运行脚本。
2. 检查模块安装路径是否在Python的搜索路径里
有时候模块确实装了,但当前Python找不到它的位置:
- 先查模块的安装路径:运行
pip3 show telethon和pip3 show ezsheets,找到Location字段(比如/usr/local/lib/python3.7/dist-packages)。 - 然后在你的脚本开头加几行代码,打印当前Python的搜索路径:
import sys print("Python搜索路径:", sys.path)
运行脚本后,看输出的路径列表里有没有刚才查到的Location路径。如果没有,说明这个Python版本无法访问到你安装的模块。
3. 避免用sudo安装包(可能引发权限/路径问题)
用sudo pip3安装的包会放到系统级路径,但如果你的用户没有足够权限,或者运行的是用户级的Python版本(比如用pyenv管理的),就会找不到。试试不用sudo,用用户级安装:
pip3 install --user telethon ezsheets
这样包会安装到当前用户的专属Python路径下,一般能被你运行的python3正常识别。
4. 用虚拟环境彻底隔离依赖(推荐方案)
如果你的PC上用了虚拟环境,树莓派上也建议用,能彻底避免全局包混乱的问题:
- 先安装虚拟环境工具:
sudo apt-get install python3-venv
- 创建并激活虚拟环境:
python3 -m venv my_script_env source my_script_env/bin/activate
激活后命令行前面会出现(my_script_env)的标识。
- 在虚拟环境里安装依赖:
pip install telethon ezsheets
(激活后pip就是对应虚拟环境的pip,不用加3)
- 运行脚本:
python script.py
先从版本匹配的问题查起,这是最常见的原因,应该能解决你的问题!
内容的提问来源于stack exchange,提问作者user242318
相关产品推荐
相关产品推荐

