py3compile error - Não é possível obter a codificação de localidade

4

Depois de reinstalar o python3.2, recebi o erro abaixo quando a chamada py3compile :

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

Eu sei que pode ser o problema da variável de ambiente ausente. Mas não tenho ideia de como consertar isso. Eu verifiquei a saída env e não encontrei nenhuma variável PYTHONXXX.

    
por deepsky 02.08.2011 / 08:46

3 respostas

1

Lembre-se que esta é uma resposta tardia, já que alguém ofereceu uma recompensa por essa questão. Observe também que, sem reproduzir esse problema, não posso verificar se alguma solução funciona. Vou apenas sugerir uma solução aqui, não fornecer uma.

Acho que você precisa definir duas variáveis como descrito aqui , porque py3compile precisa saber onde certos recursos são. Ele procura por essas variáveis PYTHONXXX.

Então

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

ou melhor

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

deve fazer o truque.

    
por 30.06.2014 / 04:04
0

Tente seguir (substitua o opkg pelo seu gerenciador de pacotes favorito)

 # opkg install python3-modules
 # opkg install python3-misc
    
por 10.09.2014 / 16:53
0

Aqui no voidlinux corrigimos esse erro além de configurar PYTHONHOME e PYTHONPATH relacionando novamente o link simbólico para o python padrão em /usr/bin de python3.5 to python2.7 para o qual eu sabia que era o que eu definir os caminhos e qual o programa que requer python requer.

Observe que a configuração dos caminhos para 3.5 não corrigiu o erro python3.5 Py_Initialize aqui. Quem disse que manter sistemas é fácil.

É por isso que temos 0install . Se ao menos isso pudesse ser adotado pelo nosso mundo open source mais. Atualmente estamos lutando para compilar no voidlinux devido a um problema de libcurl OCaml. A maioria das distribuições tem em seus repositórios de gerenciamento de pacotes.

O

0install resolve todos esses problemas encapsulando um programa para que ele seja executado com as dependências que ele requer sem conflito com outra versão instalada no sistema ou usando 0install e economiza tempo dos mantenedores de pacotes porque elimina esses links entre o sistema do usuário e os desenvolvedores porque os desenvolvedores fornecem um pacote 0install para todos os sistemas diretamente (a instalação zero é cross platform package management system ).

    
por 23.11.2016 / 01:58

Tags