Instalando ipython com readline no mac
Pergunta
Eu estou usando ipython no Mac OS 10.5 com python 2.5.1 (eu realmente gosto de usar ipython para 2.6.1, mas ele não parece estar disponível?)
Eu instalei ipython via easy_install. Ele funciona, mas está faltando GNU readline (necessário para a boa pesquisa de histórico da linha de comando com ctrl-R, etc.)
Eu encontrei um blog e outras fontes dizendo que isso poderia ser corrigido
sudo easy_install -f http://ipython.scipy.org/dist/ readline
funções No entanto, isso leva a erros de construção em readline.c
, particularmente não declarado como rl_compentry_func_t
e rl_catch_signals
.
Alguém viu esses erros? Existe outra maneira de obter ipython instalado com readline?
Solução
Você pode instalar tudo que você precisa com essencialmente um comando usando MacPorts. Primeiro baixe e instale MacPorts de http://www.macports.org/ .
Em seguida, basta fazer o seguinte no terminal:
1) porta sudo -v autoatualização
2) Porta sudo -v instalar py26-ipython
Isso irá instalar python2.6, ipython para Python 2.6 e readline para você. O comando para iniciar ipython será localizado na /opt/local/bin/ipython2.6
Outras dicas
Para instalar ipython no Snow Leopard ou Lion sem usar MacPorts, você pode simplesmente fazer:
sudo easy_install readline ipython
(Note que se você usar o "pip" para instalar readline, então ipython não verá a biblioteca readline, não sei porquê).
Editar:
Se você tivesse ipython instalado removê-lo com
sudo pip uninstall ipython
ou
pip uninstall ipython #for virtualenvs
Em seguida, certifique-se de ter instalado readline primeira e reinstalação iptyhon
pip install readline ipython
Por algumas razões, se readline não estava presente durante a instalação, ele irá instalar-se sem apoio para readline ou usar o readline mac padrão.
Isso funcionou para mim (estou usando o Python 2.7, para outras versões que você precisa para editar):
cd /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
sudo mv readline.so readline.so.bak
instalar readline como quiser (PIP, homebrew, MacPorts, etc)
pip install -U readline
Sucesso! e trabalha com virtualenv e virtualenvwrapper, e não há necessidade de modificar ipython:)
A única maneira trabalhando em MacOS Mavericks é:
- para o seu virtualenv
workon myproject_name
- readline exclusão e ipython (se você instalou-lo antes)
pip uninstall readline ipython
- instalar readline somente via easy_install (pip - nenhum trabalho!)
easy_install readline
- finalmente instalar ipython com pip
pip install ipython
É um trabalho bem no meu MacOS e testado um longo tempo.
Uma alternativa se você não quiser usar portas. Atenção: Este não é atualizar segura
. Instale ipython
e readline
como normal:
sudo easy_install -f http://ipython.scipy.org/dist/ readline ipython
Encontre o caminho completo para o seu ovo readline
. Para python 2.6 este provavelmente será:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/readline-2.5.1-py2.6-macosx-10.3-fat.egg
Editar ipython
com o seu editor de texto favorito:
vim `which ipython`
Antes da linha final na sys.exit
arquivo, inserir:
sys.path.insert(0,'PATH_TO_READLINE_EGG')
Salvar e sair (:wq
).
Verifique readline está trabalhando correto:
ipython
"Eu realmente gostaria de usar ipython para 2.6.1"
Ele está disponível. Eu estou usando-o com 2.6.1 no Mac OS X. Você só precisa instalar a distribuição oficial python 2.6.1, em seguida, instalar ipython com easy_install.