树莓派下如何为Python3.6添加、为Python3.5移除指定dist-packages路径?
嘿,刚好对树莓派上多版本Python的路径管理熟得很,给你一步步讲怎么操作:
给Python3.6添加/usr/lib/python3/dist-packages路径
最稳妥的方式是用Python的.pth文件来配置额外模块路径,步骤如下:
- 先定位Python3.6的全局site-packages目录,运行这条命令就行:
你会得到类似python3.6 -c "import site; print(site.getsitepackages())"['/usr/local/lib/python3.6/site-packages', ...]的输出,选第一个全局路径就行(一般就是/usr/local/lib/python3.6/site-packages)。 - 用
sudo创建一个新的.pth文件,比如叫rpi-system-packages.pth:sudo nano /usr/local/lib/python3.6/site-packages/rpi-system-packages.pth - 在文件里只需要写一行内容:
按/usr/lib/python3/dist-packagesCtrl+O保存,回车确认,再按Ctrl+X退出编辑器。 - 验证一下是否生效:打开Python3.6终端,输入:
要是输出import sys print('/usr/lib/python3/dist-packages' in sys.path)True,就说明路径已经加上啦。
从Python3.5中移除/usr/lib/python3/dist-packages路径
树莓派默认的Python3.5会自动加载这个系统路径,咱们可以用两种方法移除它:
方法一:修改系统.pth文件(推荐)
这是最直接的方式,因为系统就是通过这个文件把路径加进去的:
- 先找到Python3.5的site-packages里对应配置文件:
通常会找到类似grep -r "/usr/lib/python3/dist-packages" /usr/lib/python3.5/site-packages/dist-packages.pth或者apt.pth的文件,里面写着这个路径。 - 用
sudo打开这个文件编辑:
(把上面的文件名换成你实际搜到的)sudo nano /usr/lib/python3.5/site-packages/dist-packages.pth - 把里面的
/usr/lib/python3/dist-packages这一行注释掉(在行首加#),或者直接删掉这一行,然后保存退出。 - 验证:打开Python3.5终端,运行:
输出import sys print('/usr/lib/python3/dist-packages' not in sys.path)True就说明移除成功了。
方法二:用sitecustomize.py覆盖路径
要是方法一找不到对应的.pth文件,就用这个兜底方法:
- 在Python3.5的site-packages目录创建
sitecustomize.py文件:sudo nano /usr/lib/python3.5/site-packages/sitecustomize.py - 写入以下代码:
import sys try: sys.path.remove('/usr/lib/python3/dist-packages') except ValueError: # 路径本来就不在的话,直接忽略错误 pass - 保存退出后,打开Python3.5验证就行,这个脚本会在Python启动时自动运行,帮你移除目标路径。
小提醒
- 所有操作都要加
sudo,因为这些都是系统级目录,普通用户没权限修改。 - 把Python3.5的这个路径移除后,之前依赖系统包的Python3.5脚本可能会报错,要是需要的话,记得用
pip3.5 install 包名把需要的包重新装到Python3.5自己的site-packages里哦。
内容的提问来源于stack exchange,提问作者jms
相关产品推荐
相关产品推荐

