web-dev-qa-db-ja.com

ImportError: 'encodings'という名前のモジュールはありません

私は最近ubuntuを再インストールし、16.04にアップグレードしました。そしてpythonを使うことはできません。

$ python manage.py runserver
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
ImportError: No module named 'encodings'
Aborted

現時点では、Python自体は動作しません

$ python
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
ImportError: No module named 'encodings'
Aborted

この提案でさえももはや機能しません。

unset PYTHONHOME
unset PYTHONPATH

一方向に修正するたびに、また戻ってきます。いくつかの答えはそれを一時的に修正するのに役立ちますが、それは良いことではありません。私はpythonとpython3を数回再インストールしました。ここから何ができますか?ありがとうございました

68
codyc4321

Python-3の場合は、仮想環境ファイルを削除してみてください。そしてそれをリセットします。

rm -rf venv
virtualenv -p /usr/bin/python3 venv/
source venv/bin/activate
pip install -r requirements.txt

https://wiki.ubuntu.com/XenialXerus/ReleaseNotes#Python_3 edit fo

64
Anoop Malav

Windows 10ユーザーの場合.

私はWindows 10上でpython3.4を使用していました。私はpython3.5をインストールしました。 PYTHONPATH、PYTHONHOME env変数が見つかりませんでした。 CMDコンソールでpythonを起動すると、python3.4を使い続けました。 python3.4を削除しました。私がCMDコンソールでpythonをコマンドするたびに、それは以下のようなエラーを表示し始めます。

Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

私は自分の問題を見つけ出すために捜した。解決策は簡単でした。 python3.5をインストールするとき、あなたはカスタムインストールをすることができます詳細オプションの環境変数にPythonを追加.

誰かが同様の問題を抱えているので、彼らが貴重な時間を無駄に費やすことがないように、私はここを離れています。

11
Jayground

私はWindows 7の下で同じ問題に直面していました。エラーメッセージは次のようになります。

Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x000011f4 (most recent call first):

私はpython 2.7(今アンインストール)をインストールしました、そして私はpython 3.6をインストールしている間に「詳細オプションで環境変数にPythonを追加する」をチェックしました。環境変数 "PYTHONHOME"と "PYTHONPATH"はまだpython2.7です。

最後に、 "PYTHONHOME"をpython3.6のインストールパスに変更し、変数 "PYTHONPATH"を削除して解決しました。

6
Li Qiao

Ubuntu 17.10への移行中にこのエラーが発生し、問題が解決しました。

Sudo dpkg-reconfigure python3

たぶんあなたはあなたのセッションを閉じて再接続しなければならないでしょう。

5
numahell

Windows 7でも同じ問題です

環境変数/システム変数が正しく設定されていないと、このようなエラーが表示されます。

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

Current thread 0x00001db4 (most recent call first):

これを修正するのはとても簡単です。

  1. Python3.xバージョンをダウンロードして.exeファイルを実行すると、システム内のどこにPythonをインストールするかをカスタマイズするためのオプションが表示されます。たとえば、私はこの場所を選びました:C:\ Program Files\Python36

  2. それから、システムのプロパティを開き、 "詳細設定"タブに移動します(または、これを行うこともできます。[スタート]> [検索]をクリックします環境変数 "> [システム環境変数の編集]をクリックします。)[詳細設定]タブで、[環境変数]を探してクリックします。 「環境変数」という名前の別のウィンドウがポップアップします。

  3. 今すぐあなたのユーザ変数が "パス変数"にリストされている正しいPythonパスを持っていることを確認してください。この例では、C:\ Program Files\Python36になります。見つからない場合は、[パス変数]フィールドを選択して[編集]をクリックして追加します。

  4. 最後のステップは、PYTHONHOMEPYTHONPATHのフィールドをダブルチェックすることです。同じウィンドウの[システム環境変数]の下にあります。上記と同じパスが表示されます。そうでなければそれもそこに追加します。

それからOKをクリックしてCMDターミナルに戻り、pythonをチェックしてみてください。これで問題は解決するはずです。それは私のために働きました。

4
dotpy_novice

/lib/python3.5を見ると、Pythonライブラリへのリンクが壊れているのがわかります。作業ディレクトリに再作成してください。

次のエラー -

./script/bin/pip3
Failed to import the site module
Traceback (most recent call last):
  File "/home/script/script/lib/python3.5/site.py", line 703, in <module>
    main()
  File "/home/script/script/lib/python3.5/site.py", line 683, in main
    paths_in_sys = addsitepackages(paths_in_sys)
  File "/home/script/script/lib/python3.5/site.py", line 282, in addsitepackages
    addsitedir(sitedir, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 204, in addsitedir
    addpackage(sitedir, name, known_paths)
  File "/home/script/script/lib/python3.5/site.py", line 173, in addpackage
    exec(line)
  File "<string>", line 1, in <module>
  File "/home/script/script/lib/python3.5/types.py", line 166, in <module>
    import functools as _functools
  File "/home/script/script/lib/python3.5/functools.py", line 23, in <module>
    from weakref import WeakKeyDictionary
  File "/home/script/script/lib/python3.5/weakref.py", line 12, in <module>
    from _weakref import (
ImportError: cannot import name '_remove_dead_weakref'

このように修正 - https://askubuntu.com/questions/907035/importerror-cannot-import-name-remove-dead-weakref

cd my-virtualenv-directory
virtualenv . --system-site-packages
0
IvanTheFirst