無意味なコマンドを入力するたびにこのPythonエラーメッセージが生成されるのはなぜですか?

無意味なコマンドを入力するたびにこのPythonエラーメッセージが生成されるのはなぜですか?

「不明な」コマンドを入力するたびに、このPythonエラーメッセージが生成されます。一般的なコマンドはうまく動作します。これをデバッグする方法を知っていますか?

$ somenonexistingcommand
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site.py", line 553, in <module>
    main()
  File "/usr/local/lib/python2.7/site.py", line 535, in main
    known_paths = addusersitepackages(known_paths)
  File "/usr/local/lib/python2.7/site.py", line 268, in addusersitepackages
    user_site = getusersitepackages()
  File "/usr/local/lib/python2.7/site.py", line 243, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/usr/local/lib/python2.7/site.py", line 233, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/usr/local/lib/python2.7/sysconfig.py", line 535, in get_config_var
    return get_config_vars().get(name)
  File "/usr/local/lib/python2.7/sysconfig.py", line 434, in get_config_vars
    _init_posix(_CONFIG_VARS)
  File "/usr/local/lib/python2.7/sysconfig.py", line 298, in _init_posix
    raise IOError(msg)
IOError: invalid Python installation: unable to open /usr/include/python2.7/pyconfig.h (No such file or directory)
$ echo this works fine, however
this works fine, however
$

編集する- /usr/bin/pythonを修正した後、次のような他のPythonエラーメッセージが表示されます。

$ yetanothernonexistingcommand
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 10, in <module>
    import CommandNotFound
ImportError: No module named CommandNotFound

とにかく、間違ったコマンドを入力するたびにPythonが実行されます。

ベストアンサー1

まあ、それは状況がより明確になります。command-not-foundシステムでコマンドが見つからないときに実行されるPythonプログラム。 (この機能は、印刷上のエラーなどがある場合は、代替と修正を提案することです。)を参照してください/usr/bin/command-not-found。モジュールをインポートしようCommandNotFoundとしましたが、できません。これは明らかにPythonのインストールが失敗したことを示しています。私はそれについてあまり慣れていませんが、command-not-foundPythonのインストールを修復すると問題がなくなると思います。

command-not-foundもう少し詳しく説明すると、モジュールはデフォルトのPythonが見つからない場所にある可能性があります。デフォルトではパスの問題です。

デバッグ提案:

  1. まず、出力は何ですか?

    $型Python

このファイルはどのパッケージ/インストールの一部ですか?

  1. インストール結果は次のコードに対応していますか?ここのパスはこのPythonのインポートパスです。

    $ python Python 2.6.6 (r266:84292, 2010年12月27日, 00:02:40) [GCC 4.4.5] on linux2 詳細については、「help」、「copyright」、「credits」、または「license」 「と入力してください。

    import sys sys.path ['', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr /lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/ usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode' ]

おすすめ記事