Porque é que o módulo readline Python não está disponível no OS X?
Pergunta
A documentação do Python readline
módulo diz "Disponibilidade: Unix". No entanto, não parece estar disponível no OS X, embora outros módulos marcados como Unix estão disponíveis. Aqui está o que eu estou usando:
$ uname -a Darwin greg.local 8.11.1 Darwin Kernel Version 8.11.1: Wed Oct 10 18:23:28 PDT 2007; root:xnu-792.25.20~1/RELEASE_I386 i386 i386 $ which python /usr/bin/python $ python Python 2.3.5 (#1, Nov 26 2007, 09:16:55) [GCC 4.0.1 (Apple Computer, Inc. build 5363) (+4864187)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import readline Traceback (most recent call last): File "", line 1, in ? ImportError: No module named readline >>>
Eu também instalou Python 2.5 através MacPorts mas readline
não está disponível lá.
O que posso fazer para fornecer funcionalidade readline
para a função raw_input()
do Python no Mac OS X?
Solução
Você já tentou instalar o py-readline
(ou py25-readline
para Python 2.5) port?
Além disso, no trecho acima, você não está usando o python MacPort, mas sim o da Apple Python.
A versão MacPort devem estar localizados na estrutura de diretórios /opt/local
. Você deve verificar o seu caminho.
Outras dicas
rlwrap
tentativa. Ele deve funcionar com qualquer versão do python e em geral qualquer shell.
Instale via brew install rlwrap
no Mac OS X
Uso como rlwrap python
. Ele armazena história também.
Não é enviado em OS X por causa de problemas de licenciamento (restrições trazidas a você pelo GPL).
Macports python deve estar bem se você tiver o pacote readline instalado.
Você deve ser capaz de obter suporte readline no Python nativo do Mac. Aparentemente, ele é implementado via editline do BSD, e você tem que começar tudo de maneira um pouco diferente. Eu só testei isso em um Mac, e funciona bem (OS X 10.5.7). Veja man python
para mais detalhes, a seção "Entrada Interativo Edição e Histórico Substituição" - espelhado na web aqui .
luga ~ $ python
Python 2.5.1 (r251:54863, Feb 6 2009, 19:02:12)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import rlcompleter
>>> import readline
>>>