每当我在终端中错误输入任何命令而不是得到此命令时,Error:Command not found
我都会收到此 python 消息错误
Traceback (most recent call last):
File "/usr/lib/python3.3/site.py", line 631, in <module>
main()
File "/usr/lib/python3.3/site.py", line 616, in main
known_paths = addusersitepackages(known_paths)
File "/usr/lib/python3.3/site.py", line 284, in addusersitepackages
user_site = getusersitepackages()
File "/usr/lib/python3.3/site.py", line 260, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/lib/python3.3/site.py", line 250, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/lib/python3.3/sysconfig.py", line 580, in get_config_var
return get_config_vars().get(name)
File "/usr/lib/python3.3/sysconfig.py", line 530, in get_config_vars
_init_posix(_CONFIG_VARS)
File "/usr/lib/python3.3/sysconfig.py", line 403, in _init_posix
from _sysconfigdata import build_time_vars
File "/usr/lib/python3.3/_sysconfigdata.py", line 6, in <module>
from _sysconfigdata_m import *
ImportError: No module named '_sysconfigdata_m'
我知道在安装 python3.x 并尝试将其设为我的默认解释器后,此错误就这样发生了。
$ lsb_release -rd
Description: Linux Mint 14 Nadia
Release: 14
/usr/lib/command-not-found
也运作良好。
我可以恢复到默认的 python 版本吗?我只是做了
sudo ln -sf /usr/bin/python2.7 /usr/local/bin/python
将 2.7 作为默认解释器就足够了吗?
知道如何摆脱这个地狱消息错误吗?
答案1
改变 Ubuntu 派生发行版中的默认 Python 解释器是一个坏主意。很多系统实用程序都希望python
能够解析到预期的版本,但如果没有解析到预期的版本,就会非常不高兴。
更好的是(显然取决于外壳):
export PATH="${HOME}/bin:${PATH}"
ln -s /usr/bin/python2.7 $HOME/bin/python
进行中你的默认解释器,但保留系统实用程序如他们所期望的那样。
添加以回复评论
我对为什么这不起作用的第一个猜测是您没有完全清理所做的更改。
sudo rm /usr/local/bin/python
sudo apt-get install --reinstall python
应该清除您在此处报告的更改,并将发行版默认 Python 解释器恢复为系统范围的默认值。
然后,删除我上面建议您创建的用户别名:
rm $HOME/bin/python
并检查当未找到 shell 命令时是否仍然获得 Python 回溯。如果您仍然得到回溯,我想不出会导致这种情况发生的标准机制。因此,您需要向我们提供有关您正在使用的 shell(大概是 bash)的更多信息,并添加命令的输出
complete | grep python
alias | grep python
python -V
对于你的问题。