在Linux系统中安装Python3.6遇到了如下错误:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007f2ee58a0700 (most recent call first):
Aborted (core dumped)

解决方案一:

该问题一般是由于系统中存在其余版本Python互相冲突或者Python卸载残留所导致,可以通过查看当前系统中环境变量中存在的Python环境变量路径,删除多余和无效的环境变量,将有效的环境变量添加进去即可。

通过下列命令查看系统的环境变量设置:

root@a85fcf769a86:/# echo $PATH
/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

从上述可惜看出,当前我的Linux系统中有下列几个环境变量:

/usr/local/nvidia/bin;
/usr/local/cuda/bin;
/usr/local/sbin;
/usr/local/bin;
/usr/sbin;
/usr/bin;
/sbin;
/bin;

环境变量一般在系统的~/.bashrc文件中进行设置,通过vim可以查看该文件的内容。

vim ~/.bashrc

解决方案二:

有些Linux版本的Python安装教程中一般通过建立软链接的方式配置Python,而不是通过export的方式添加Python换环境变量。如下所示:

ln -s /usr/local/python3/bin/python3 /usr/bin/python3 
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 

所谓软连接就相当于win下的快捷方式,可以通过快捷方式打开指定的软件。之所以要把跨界方式添加在/usr/bin路径中,是因为该路径是系统默认添加的环境变量路径。所以,也可以将该路径换为其他环境变量路径。

当Python卸载之后,建立的软连接并不会被一同删除。当再次安装Python时,卸载残留的Python软链接会和当前安装的Python冲突,需要将无效的Python软链接删除,再配置当前安装的Python。

如果我们不知道之前安装的Python软链接是在哪个路径里,可以通过echo $PATH查看系统的所有环境变量,挨个查看每个路径里的文件,删除Python、Python3、pip、pip3等软链接文件,然后重新添加软连接即可。

如果无法确定是哪种情况导致的错误,建议把环境变量和软链接全部检查一遍,挨个排除问题所在,基本都可以解决。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐