问题:
在linux服务器中想使用pip命令pip show list
查看安装了哪些包时,报错
ModuleNotFoundError: No module named ‘_sysconfigdata_x86_64_conda_cos7_linux_gnu’
问题原因
原因是:在当前的环境下的python中丢失了一个备份文件,即报错的文件_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
。
通常在同一个版本的python下会有两个相同的_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
文件和_sysconfigdata_x86_64_conda_linux_gnu.py
文件。即使两个文件一模一样,但是某些程序的运行过程中会依赖于其中的一个。
因此要做的就是定位到哪一个文件夹缺失了文件_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
,之后复制该文件夹下的_sysconfigdata_x86_64_conda_linux_gnu.py
文件,命名为_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
。
解决方法:
- 定位缺失文件的文件夹:
可以使用命令:sudo find ~ -name _sysconfigdata_x86_64*
,查看出系统中所有带有_sysconfigdata_x86_64
名字的文件路径。
之后会让输入密码,当然了服务器中输入密码是不会显示内容的。
但可能系统中有很多带有_sysconfigdata_x86_64
的文件,如图所示,检索起来太麻烦。
可以看看最初出问题的输出内容:
可以其实给出了缺失文件的文件夹。
再在第一个图片里面找一个_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
文件,这里我找的是
/home/rsr/anaconda3/lib/python3.9/_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
使用命令
cp /home/rsr/anaconda3/lib/python3.9/_sysconfigdata_x86_64_conda_cos7_linux_gnu.py /home/rsr/anaconda3/envs/pytorch/lib/python3.7/_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
将路径/home/rsr/anaconda3/lib/python3.9
下的文件_sysconfigdata_x86_64_conda_cos7_linux_gnu.py
,复制到路径/home/rsr/anaconda3/envs/pytorch/lib/python3.7
中。
之后就可以使用pip命令了。