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を取得するだけで十分ですか?
この地獄のメッセージエラーを取り除く方法はありますか?
Ubuntuから派生したディストリビューションでデフォルトのPythonインタープリターを変更するのは悪い考えです。非常に多くのシステムユーティリティは、python
が期待されるバージョンに解決されることを期待し、そうでない場合は非常に不幸になります。 。
(明らかにシェルに依存する)方が良いでしょう:
export PATH="${HOME}/bin:${PATH}"
ln -s /usr/bin/python2.7 $HOME/bin/python
それをyourデフォルトのインタプリタにしますが、システムユーティリティは期待どおりのままにします。
コメントへの返信として追加
これが機能しなかった理由についての私の最初の推測は、行った変更を完全にクリーンアップしなかったということです。
Sudo rm /usr/local/bin/python
Sudo apt-get install --reinstall python
ここで報告した変更をクリアし、ディストリビューションのデフォルトPythonインタープリターをシステム全体のデフォルトに戻す必要があります。
次に、上記で作成することを提案したユーザーエイリアスを削除します。
rm $HOME/bin/python
そして、シェルコマンドが見つからないときにPythonトレースバックがまだ得られるかどうかを確認します。それでもトレースバックが得られる場合、それを引き起こす標準的なメカニズムは考えられません。したがって、使用しているシェル(おそらくbash)に関する詳細情報を提供し、コマンドの出力を追加する必要があります
complete | grep python
alias | grep python
python -V
あなたの質問に。
stackoverflow および launchpad で説明されているように、これは実際にはubuntuディストリビューションのバグです。
修正は、/etc/bash.bashrc
ファイルにパッチを適用し、行python /usr/lib/command-not-found -- $1
をusr/lib/command-not-found -- $1
に変更することです。