py3compile 오류 - 로케일 인코딩을 가져올 수 없습니다.

py3compile 오류 - 로케일 인코딩을 가져올 수 없습니다.

python3.2를 다시 설치한 후 호출할 때 다음 오류가 발생합니다 py3compile.

Fatal Python error: Py_Initialize: Unable to get the locale encoding
LookupError: no codec search functions registered: can't find encoding
Aborted

환경 변수가 누락되어 문제가 될 수 있다는 것을 알고 있습니다. 하지만 어떻게 해결해야 할지 모르겠습니다. 출력을 확인했는데 env PYTHONXXX 변수를 찾지 못했습니다.

답변1

이미 누군가가 이 문제에 대해 포상금을 제공했기 때문에 답변이 늦었습니다. 또한 문제를 재현하지 않으면 해결 방법이 작동하는지 확인할 수 없습니다. 여기서는 해결책을 제시하는 것이 아니라 해결책을 제안하는 것뿐입니다.

설명된 대로 두 변수를 모두 설정해야 한다고 생각합니다.여기, py3compile특정 리소스가 어디에 있는지 알아야 하기 때문입니다. 이 PYTHONXXX 변수를 통해 검색합니다.

그래서

export PYTHONPATH='/usr/lib64/python3.21:/usr/lib64/python3.2/lib-dynload:/usr/lib64/python3.2/site-packages'
export PYTHONHOME='/usr/lib64/python3.2'

더 구체적으로

export PYTHONPATH='/path/to/pythondir:/path/to/pythondir/lib-dynload:/path/to/pythondir/site-packages'
export PYTHONHOME='/path/to/pythondir'

그러면 문제가 해결될 것입니다.

답변2

다음을 시도해 보십시오(opkg를 선호하는 패키지 관리자로 교체).

 # opkg install python3-modules
 # opkg install python3-misc

답변3

voidlinux에서는 심볼릭 링크를 설정 PYTHONHOME하고 PYTHONPATH기본 python에 다시 연결하는 것 외에도 /usr/bin이 버그가 수정되었습니다 python3.5. python2.7이 경로는 제가 설정한 경로이고 Python이 필요한 프로그램에 필요합니다.

경로를 설정해도 여기서 오류가 3.5해결되지는 않습니다 . python3.5 Py_Initialize누가 시스템을 유지하는 것이 쉽다고 말했습니까?

그래서 우리는0개 설치. 오픈 소스 세계에서 더 많은 사람들이 이를 채택할 수 있다면 좋을 것입니다. 현재 libcurl OCaml 문제로 인해 voidlinux에서 컴파일하는 작업이 진행 중입니다. 대부분의 배포판에는 패키지 관리 저장소에 있습니다.

0install은 시스템에 설치된 다른 버전과 충돌하지 않거나 0install을 사용하지 않고 필요한 종속성으로 실행되도록 프로그램을 완전히 캡슐화하여 이러한 모든 문제를 해결하고, 개발자가 직접 제공하기 때문에 사용자 시스템과 개발자 간의 링크를 제거하므로 패키지 유지 관리 시간을 절약합니다. 모든 시스템에 대한 0install 패키지(zeroinstall은 하나입니다 cross platform package management system).

관련 정보