前言
我用的Manjaro默认的Python版本一直都是最新的,默认就是3.9(2021.04最新),但是我在做机器学习时需要tensorflow,但我发现这个包暂时只能支持到python3.8,这就很难受了,所以我就想对Python进行降级,有的时候python太新了,一些模块还没有支持到位,捣鼓比较麻烦,我就像彻底将系统默认的python版本改为python3.7,然后在我更新系统时出现了 no module named ‘pacman_mirrors’ 的问题。
解决方案
我是manjaro系统,python默认3.9版本
- 找到python3.9环境中的pacman-mirrors包的路径,这里我的路径如下:
/usr/lib/python3.9/site-packages/pacman_mirrors
- 我新安装的python3.7的路径如下:
/usr/lib/python3.7
- 移动pacman_mirrors包到python3.7的包路径下
sudo cp -r /usr/lib/python3.9/site-packages/pacman_mirrors /usr/lib/python3.7/site-packages/
在执行就成功了,可能会提醒 ModuleNotFoundError: No module named ‘requests’ ,这是我python3.7的环境没有这个包导致的,所以 pip install requests 就解决了。解决过程如下,仅记录
解决过程
这个报错明显就是缺python依赖包所导致的,所以最基本的操作就是pip
pip install pacman_mirrors
执行完pip却找不到这个包,我使用的是pip源是清华的源,我又去 https://pypi.org 网站搜索包,结果如下图:
还是没有这个包,查看系统命令pacman-mirrors路径
/usr/bin/pacman-mirrors
查看这个文件,系统使用的是python执行这个命令,而这个python命令已经被我软连接到python3.7上了,python3.7没有需要的包,所以出问题,和之前想的一样,这里可能将这个文件的执行改为 /usr/bin/python3.9 可能就可以了,这个我没尝试,所幸3.9环境中的这个包放到3.7里依然可以运行,所以解决方法如上所述。对了,pip版本和默认python版本匹配很重要,谨记。