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?

Foi útil?

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 é:

  1. para o seu virtualenv workon myproject_name
  2. readline exclusão e ipython (se você instalou-lo antes) pip uninstall readline ipython
  3. instalar readline somente via easy_install (pip - nenhum trabalho!) easy_install readline
  4. 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top