가져오기 오류: 'encodings'라는 이름의 모듈이 없습니다.
나는 최근에 unbu를 다시 설치했고 16.04로 업그레이드했고 파이썬을 사용할 수 없습니다.
$ 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
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를 여러 번 다시 설치했습니다.여기서 무엇을 할 수 있습니까?
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 편집 fo
Windows 10 사용자의 경우.
윈도우 10에서 파이썬 3.4를 사용하고 있었습니다.저는 python 3.5를 설치했습니다.PYTHONPATH, PYTHONHOME env 변수를 찾을 수 없습니다.CMD 콘솔에서 python을 명령하면 python3.4를 계속 사용했습니다.저는 python 3.4를 삭제했습니다.CMD 콘솔에서 python을 명령할 때마다 아래와 같은 오류가 나타납니다.
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
저는 제 문제를 알아내기 위해 검색했습니다.솔루션은 간단했습니다.python 3.5를 설치할 때 사용자 지정 설치를 수행하고 고급 옵션에서 환경 변수에 Python 추가를 선택할 수 있습니다.
저는 단지 비슷한 문제를 가진 사람이 이곳을 방문할 경우를 대비해 이곳을 떠나는데, 이는 그들이 그들의 소중한 시간을 많이 낭비하지 않기 위해서입니다.
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을 설치하면서 "Advanced Options의 환경 변수에 python 추가"를 확인했습니다.환경 변수 "PYthonHOME" 및 "PYthonPATH"는 여전히 python2.7인 것으로 나타났습니다.
마지막으로 "PYthonHOME"을 python3.6 설치 경로로 수정하고 변수 "PYthonPATH"를 제거하여 해결했습니다.
Windows 7(윈도우 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):
이 문제를 해결하는 것은 매우 간단합니다.
Python 3.x 버전을 다운로드하고 .exe 파일을 실행하면 시스템에서 Python을 설치할 위치를 사용자 지정하는 옵션이 제공됩니다.예를 들어 다음 위치를 선택했습니다.C:\프로그램 파일\파이썬36
그런 다음 시스템 속성을 열고 "고급" 탭으로 이동합니다(또는 간단하게 시작으로 이동 > "환경 변수" 검색 > "시스템 환경 변수 편집" 클릭)."고급" 탭에서 "환경 변수"를 찾아 클릭합니다.이름이 "환경 변수"인 다른 창이 나타납니다.
이제 사용자 변수에 "경로 변수"에 나열된 올바른 Python 경로가 있는지 확인합니다.여기 예에서는 C:\Program Files\가 표시됩니다.파이썬36.경로 변수 필드가 없으면 경로 변수 필드를 선택하고 편집을 클릭하여 추가합니다.
마지막 단계는 동일한 창에서 System Variables 아래의 PYONHOME 및 PYONPATH 필드를 두 번 확인하는 것입니다.위에서 설명한 것과 동일한 경로가 표시됩니다.거기에 그것을 추가하지 않으면 안 됩니다.
그런 다음 확인을 클릭하고 CMD 터미널로 돌아가서 파이썬을 확인해 보십시오.이제 문제가 해결되어야 합니다.그것은 나에게 효과가 있었다.
Ubuntu 17.10으로 마이그레이션하는 동안 이 오류가 발생했으며 이로 인해 문제가 해결되었습니다.
sudo dpkg-reconfigure python3
세션을 닫고 다시 연결해야 할 수도 있습니다.
/lib/python 3.5를 보면 파이썬 라이브러리에 대한 링크가 끊어진 것을 볼 수 있습니다.작업 디렉토리에 다시 작성합니다.
다음 오류 -
./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
저는 모든 것을 시도했고, PYTHONPATH와 PYTHONHOME을 삭제했습니다. 오류가 사라지지 않았습니다.VirtualHost의 wsgi 구성에서 WSGIDaemonProcess에서 python-home 경로를 지정한 것을 간과했습니다.저는 그것을 제거했고 오류가 사라졌습니다.
는 삭습니다를 삭제했습니다.rm -r /usr/lib/python*
dpkg -S '/usr/lib/python3*' | grep encodings
그리고 나는 필요하다는 것을 발견했습니다.libpython3.10-minimal
sudo apt-get install --reinstall libpython3.10-minimal
나는 마침내 달렸습니다.
sudo apt-get install --reinstall $(dpkg -S '/usr/lib/python3*' | cut -d ':' -f1 | cut -d ',' -f1 | sort | uniq | tr '\n' ' ')
sudo apt-get install --reinstall $(dpkg -S '/usr/lib/python2*' | cut -d ':' -f1 | cut -d ',' -f1 | sort | uniq | tr '\n' ' ')
파일을 삭제한 모든 패키지를 다시 설치하려면 다음과 같이 하십시오.
때 macOS를 사용할 .pipenv
는 Pipenv를 생성하고 합니다.virtualenv
따라서 @Anoop-Malav의 이전 제안은 pipenv를 사용하여 현재 dir를 기반으로 가상 환경을 제거하고 재설정하는 것과 동일합니다.
pipenv --rm
pipenv shell # recreate a virtual env with your current Pipfile
macOS Catalina로 업데이트한 후 "ModuleNotFoundError: 'encodings'라는 이름의 모듈이 없습니다.
시스템에 여러 버전의 Python이 설치되어 있었습니다.
macOS 시스템에서 모든 python 버전(2.7 및 3.7.4)을 제거하고 최신 python 3.8을 다시 설치하는 것이 저에게 효과가 있었습니다.
macOS에서 파이썬을 제거하기 위해, 저는 여기의 지침을 따릅니다. macOS X 10.6.4에서 파이썬 2.7을 제거하는 방법은 무엇입니까?
위 링크는 python 2.7용이지만 3.7에도 동일하게 사용할 수 있습니다.
제 경우에는 aconda 폴더의 권한만 변경해도 작동했습니다.
sudo chmod -R u=rwx,g=rx,o=rx /path/to/anaconda
MySql Workbench 8.0을 macOS Catalina 10.15.3에서 실행하려고 할 때 이 오류가 발생했습니다.
시스템에 Python 3.7을 설치하여 이 문제를 해결했습니다.
향후 Workbench의 버전이 8 이상이 될 경우 Python의 최신 버전이 필요할 것으로 예상됩니다.오류에서 라이브러리 경로만 보면 필요한 버전을 찾을 수 있습니다.
저도 비슷한 문제가 있었습니다.컴퓨터에 아나콘다와 파이썬을 둘 다 설치했고 내 파이썬 의존성은 아나콘다 디렉터리에서 나왔습니다.아나콘다를 제거했을 때 이 오류가 발생하기 시작했습니다.추가했습니다.PYTHONPATH
하지만 여전히 가지 않았습니다.확인했습니다.python -version
아직 아나콘다의 길을 걷고 있다는 것을 알게 될 것입니다.나는 아나콘다3 디렉토리를 수동으로 삭제해야 했고 그 후 파이썬은 종속성을 취하기 시작했습니다.PYTHONPATH
.
문제 해결!
이것이 구글의 첫 번째 결과이기 때문에 저는 감옥에 문제가 있는 다른 사람들을 위해 다음 정보를 추가하고 싶습니다.
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
ModuleNotFoundError: No module named 'encodings'
Current thread 0x00007f079b16d740 (most recent call first):
Aborted (core dumped)
감옥으로 파이썬을 가져오려면 둘 다 종속성과 /usr/lib/pythonX를 연결해야 합니다.Y to [JAIL]/usr/lib/.이게 도움이 되길 바랍니다.
저는 데비안 서버에서 동일한 문제에 직면하고 있었고, 저에게 문제는 제 프로젝트를 내부에 넣었다는 것이었습니다./root/
mod_wsgi에 액세스 권한이 없는 폴더입니다.그래서 저는 제 프로젝트를 로 옮겼습니다./var/www/html/
가상 호스트 구성을 업데이트합니다.
저의 경우, 다음과 같이 작동했습니다.회의에서 env 경로를 변경했습니다./home/vinzee/.pyenv/versions/envname/bin/
로./home/vinzee/.pyenv/versions/envname/
그리고 그것은 성공하였다.
환경 경로는 가상 환경의 루트 폴더에 대한 경로여야 하며 가상 환경의 루트 폴더에 대한 경로여야 합니다.ROOT_VENV/bin/
).
다른 사람들이 제안한 것처럼 후행 슬래시를 사용하지 않고 추가로 시도할 수 있지만, 저의 경우 슬래시 사용 여부와 상관없이 작동했습니다.
이 오류는 다양한 이유로 인해 발생할 수 있습니다(여기에 나와 있는 답변의 수를 고려할 때).
저에게 이 문제는 애플리케이션이 가상 환경에 구축되었다는 사실과 관련이 있었습니다.pyvenv.cfg
파일에 잘못된 권한이 있습니다.uwsgi가 실행 중인 사용자가 쓰기 가능해야 합니다(내 경우에는http
).
그냥 File -> Settings -> Project 탭에서 Project Interpreter 선택 -> small gear 아이콘 클릭 -> Add -> System Interpreter -> 드롭다운 메뉴에서 원하는 python 버전 선택
이것은 나에게 효과가 있는 것처럼 보였습니다.
제가 고칠 수도 있어요.PYTHONPATH 및 PYTHONHOME이 원인입니다.
터미널에서 실행합니다.
touch ~/.bash_profile
open ~/.bash_profile
그런 다음 이 파일의 쓸모없는 부분을 모두 삭제하고 저장합니다.그렇게 하는 것이 얼마나 권장되는지 모르겠습니다!
언급URL : https://stackoverflow.com/questions/38132755/importerror-no-module-named-encodings
'programing' 카테고리의 다른 글
erb의 의미는 무엇입니까? (0) | 2023.06.01 |
---|---|
열거형 명명 규칙 - 복수 (0) | 2023.05.27 |
에어로스피크와 함께 일한 사람이 있습니까?MongoDB와 비교하면 어떻습니까? (0) | 2023.05.27 |
인덱스 배열의 값과 키를 비교하는 연관 배열을 필터링하는 방법은 무엇입니까? (0) | 2023.05.27 |
Angular 2 사이트에서 브라우저 캐시를 방지하는 방법은 무엇입니까? (0) | 2023.05.27 |