Tenho tido problemas com Python, iPython e as bibliotecas. Os pontos a seguir mostram a cadeia da problemática. Estou executando o Python 2.7 no Mac Lion.
- iPython não lê as bibliotecas do scipy, matplotlib, mas lê numpy.
- Para corrigir isso, tentei instalar a versão do código-fonte do Python, e só me deu mais problemas, pois agora tenho duas versões diferentes: 2.7.1 e 2.7.2
- Percebi que executando Python, usa a versão 2.7.2 e importa scipy, matplotlib e numpy, mas no iPython a versão é 2.7.1 que não abre scipy ou matplotlib.
Tentei várias coisas que encontrei em outros posts de blog. Mas nenhum deles ajudou e também, infelizmente, não sei bem o que estou fazendo com alguns deles. Por exemplo: tentei desinstalar e reinstalar o ipython com easy_install e pip. Também tentei reinstalar tudo por meio do homebrew e modificar o caminho .bash_profile.
ipython
script está "vinculado" à versão específica do Python com a qual foi instalado - ele não mudará automaticamente para a última instalação. Se você instalou primeiro o 2.7.1, depois o IPython e depois o 2.7.2 da fonte, seu IPython continuará usando o 2.7.1. Você precisa desfazer todas as suas manobras, voltar para a versão original do Python e descobrir o motivo do ponto 1; como alternativa, reinstale o IPython usando qualquer instalação do Python que possa acessar as bibliotecas de que você precisa.ipython
executável será colocado em seu PATH. Se você instalar o Python 2.7.2 a partir do código-fonte, é uma nova cópia separada do Python e não atualizará o 2.7.1 existente que contém o IPython. Portanto, o IPython não verá a cópia 2.7.2 ou nenhuma biblioteca nela.Respostas:
Ok, solução rápida:
dá pra você
/usr/bin/python
né? Faze aposto que sim
/usr/local/bin/ipython
. Vamos dar uma olhada dentro:Editar 07/09/16 - O arquivo agora se parece com este:
E o meu funciona bem assim, mas minha situação não é exatamente como a do OP.
Resposta original - 30/09/13:
Aha - abra
/usr/local/bin/ipython
em seu editor (com privilégios) e mude a primeira linha parasalvar, iniciar iPython, deve dizer que está usando a versão que você deseja agora.
fonte
python -m IPython
é equivalente aipython
, esperamos que você tenha certeza de usar o Python certo.Postando o comentário de @Matt como uma resposta apenas para ficar mais visível
Carrega ipython como um módulo com qualquer python que esteja acessível no caminho primeiro. No meu caso, eu tinha um pré-instalado e um adicionado do brew. Isso funciona perfeitamente.
fonte
Que tal usar um virtualenv? Eu realmente gosto. Talvez não seja o caminho mais rápido, mas acho que é muito claro.
Ao criar um virtualenv, você pode especificar o caminho python com o sinalizador -p.
para python 2.7
para python 3.4
fonte
python -m IPython
iniciará o ipython com a versão fornecida depython
python -m IPython
precisa disso instalado:pip install ipython
Primeiro, gostaria de ter certeza de que você está usando o python certo. Em um prompt de comando, digite:
O primeiro informará o caminho, o segundo informará a versão do Python que você está usando.
fonte
Minha solução é simples, estúpida, mas funciona.
Eu uso
python -V
para ter certeza de qual versão ée criar um alias em .bash_profile
Adicionar uma linha
então você obterá um
ipython
no python 2.7. 🙂(A propósito, meu
ipython
é instalar viahomebrew
, o padrão terá um ipython executado em python 3.)fonte
extremamente relevante: http://conda.pydata.org/docs/trou troubleshooting.html#shell - command - location .
Problemas td; lr são encontrados devido ao 'hashing' do shell e às variáveis de caminho.
fonte
which python
deve apontar para o binário virtualenv python.hash -r
consertou para mim; obrigado!Um método semelhante usando pyenv
Agora ele irá mostrar a versão correta do python
fonte
A solução mais simples absoluta que eu poderia pensar, que não requer mexer com ambientes, arquivos instalados ou qualquer outra coisa, depende dos fatos que
ipython
é na verdade um script Python.pip intall
.Se a versão do Python que você está executando tem um pacote IPython instalado, você pode simplesmente fazer
Isso executará o
ipython
script com o intérprete que você deseja, em vez de um listado no shebang.fonte
ipython
no meu shell, ele leia automaticamente o interpretador personalizado em vez do padrão?Seu problema é basicamente fazer o ipython usar o python certo.
então a solução para o problema é fazer com que o ipython use o python correto (que tem bibliotecas como o scipy instaladas)
Eu escrevi uma solução aqui:
Como fazer o iPython usar Python 2 em vez de Python 3
fonte
Eu me deparei com o mesmo problema, mas a seguinte foi a única solução que funcionou para mim no OSX 12, Sierra.
O ipython sempre foi lançado para o python 3.6, mas eu precisava dele para o 2.7. Não consegui encontrar um script de inicialização do ipython para 2.7, nem o módulo IPython para executar
python -m
. Nadabrew instally ipython
pip install ipython
oupip2 install ipython
poderia me dar a versão 2.7. Então eu peguei manualmente.brew install ipython@5
instala a versão 2.7 a partir daqui, mas não a coloca no seu$PATH
porque sabe que o nome está em conflito com outro pacote.ln -s /usr/local/Cellar/ipython@5/5.5.0_1/bin/ipython /usr/local/bin/ipython2
irá consertar isso e permitir que você execute apenas aipython2
partir do prompt do shellPara mim, como estava falando sério sobre usar ipython para 2.7, também executei os seguintes comandos.
fonte
Todas as respostas mencionadas aqui não ajudam a resolver o problema se você estiver usando o anaconda ou algum outro wrapper de ambiente virtual.
Esta resposta é baseada na suposição de que você está usando o anaconda.
Digamos que você esteja em um ambiente python 3 e ao criar um notebook no notebook jupyter ele mostre "Python 2" em vez de "Python 3".
Isso ocorre porque "ipython" é essencialmente um script que é executado e neste script ele menciona qual versão do python está usando para executar o comando. Tudo o que você precisa fazer é alterar esta linha para que o ipython use a versão do python que você deseja.
Primeiro pare o servidor ipython e obtenha a localização do executável python do ambiente atual usando o comando "which python"
Minha saída é:
Agora pegue a localização do executável do ipython, use o comando "which ipython"
o meu é :
Observe que ele está usando uma versão diferente do python ie. python de um ambiente específico executando uma versão diferente de python, ou seja, executando python de um ambiente diferente.
Agora navegue até o diretório anaconda2 / bin (para usuários do anaconda 3 deve ser anaconda3 / bin) e procure pelo arquivo "ipython". nesta edição, a primeira linha a apontar para a versão python atual que você deseja. ou seja, a saída de "which python", ou seja:
Observe que mudei meu ambiente python de py2 (executando python 2.7) para py3 (executando python 3.5).
Salve o arquivo. E execute o jupyter notebook, agora ao criar um novo notebook a opção "Python 3" deve estar visível.
Felicidades!
fonte