我使用 rpm 命令从我的 Linux 中删除了默认的 Python 安装,而没有删除依赖项,我试图手动安装 2.7,但没有成功,我想可能是因为冲突,但它搞砸了,当我重新安装 2.6 后尝试调用 Python 时出现此错误
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting `$PYTHONHOME` to `<prefix>[:<exec_prefix>]`
ImportError: No module named site
我尝试过设置 PYTHONHOME
, PYTHONPATH
但效果不太好,我得到了最后一个错误ImportError: No module named site
,而且其他程序也yum
不起作用。我该怎么办?此外,当我安装 2.7 时,我曾经--libdir=/usr/lib64
对其进行配置。
我的系统是 64 位的,我真的需要恢复到原来的状态,我该怎么办?可以使用 linux rescue 解决吗?任何帮助都将不胜感激。我花了几个小时在线阅读其他面临同样问题的用户的解决方案,但这没有帮助。
使用whereis
命令我发现了这些:
python:/usr/bin/python /usr/bin/python2.6 /usr/bin/python2.6-config /usr/lib/python2.3 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python /usr/local/bin/python2.7-config /usr/local/bin/python3.2m /usr/local/bin/python3.2 /usr/local/bin/python3.2m-config /usr/local/bin/python2.7 /usr/local/bin/python3.2-config /usr/local/lib/python3.2 /usr/include/python2.6 /opt/python2.7/bin/python2.7-config /opt/python2.7/bin/python2.7 /usr/share/man/man1/python.1.gz
我该怎么办?我在编程时无法忍受一直手动调用 python。
我正在使用 Scientific Linux 6.3
答案1
我在 64 位系统上使用 CentOS 6.7 (Final) 时遇到了同样的错误。我不得不更改两个路径才能让 python 再次工作。(具体来说,gdb 给出了与您相同的错误。)
export PYTHONHOME=/usr/lib64/python2.6/
export PYTHONPATH=/usr/lib64/python2.6/
其他答案说只修改其中一个变量或使用非 64 位 lib 文件夹。但这是唯一对我有用的方法。希望这可以帮助别人。不过,在你的情况下,你可能想要使用 python2.7 文件夹。但你至少可以使用 python2.6 来恢复正常工作的系统。
答案2
如果您想从源代码安装 python,通常最好在 /usr/local/ 的某个地方进行安装,并让系统默认的 python 位于它想要的位置。
我同意,如果不完全重新安装,恢复 python 将会很困难。
您可能可以这样做:在另一个 Sci Linux 系统(甚至是虚拟机)上打包默认的 Python,然后在原始系统上提取它。这可能足以让您重新开始。但最安全的方法可能是完全重新安装。