Eu me pego digitando import numpy as np
quase todas as vezes que ligo o interpretador python. Como configuro o interpretador python ou ipython para que numpy seja importado automaticamente?
119
Use a variável de ambiente PYTHONSTARTUP . Da documentação oficial:
Se este for o nome de um arquivo legível, os comandos Python nesse arquivo serão executados antes do primeiro prompt ser exibido no modo interativo. O arquivo é executado no mesmo namespace onde os comandos interativos são executados para que os objetos definidos ou importados nele possam ser usados sem qualificação na sessão interativa.
Portanto, basta criar um script Python com a instrução import e apontar a variável de ambiente para ele. Dito isso, lembre-se de que 'Explícito é sempre melhor do que implícito', portanto, não dependa desse comportamento para scripts de produção.
Para Ipython, veja este tutorial sobre como fazer um arquivo ipython_config
env PYTHONSTARTUP="~/.startup.py"
não funcionou para mimexport PYTHONSTARTUP=~/.python_shell_startup.py
para definir a variável.Para ipython, existem duas maneiras de fazer isso. Ambos envolvem o diretório de configuração do ipython que está localizado em
~/.ipython
.~/.ipython/profile_default/startup/
Para simplificar, eu usaria a opção 2. Tudo que você precisa fazer é colocar um arquivo
.py
ou.ipy
no~/.ipython/profile_default/startup
diretório e ele será executado automaticamente. Assim, você pode colocarimport numpy as np
em um arquivo simples e terá np no namespace do prompt do ipython.A opção 2 realmente funcionará com um perfil personalizado, mas o uso de um perfil personalizado permitirá que você altere os requisitos de inicialização e outras configurações com base em um caso específico. No entanto, se você sempre como
np
estar disponível para você, então por todos os meios colocá-lo no diretório de inicialização.Para obter mais informações sobre a configuração do ipython. Os documentos têm uma explicação muito mais completa.
fonte
~/.config/ipython/profile_default/startup/
e não~/.ipython/profile_default/startup/
Eu uso um arquivo ~ / .startup.py como este:
Em seguida, defina PYTHONSTARTUP = ~ / .startup.py e o Python o usará ao iniciar um shell.
As instruções de impressão estão lá, portanto, quando eu inicio o shell, recebo um lembrete de que ele está em vigor e do que já foi importado. O
pp
atalho também é muito útil ...fonte
~
como um substituto para$HOME
funciona ou não, mas em vez desse caminho relativo eu tive que usar um caminho absoluto no MacOS, fish e python3.Embora a criação de um script de inicialização personalizado como ravenac95 sugira que seja a melhor resposta geral para a maioria dos casos, não funcionará nas circunstâncias em que você deseja usar um
from __future__ import X
. Se você às vezes trabalha com Python 2.x, mas deseja usar a divisão moderna, só há uma maneira de fazer isso. Depois de criar um perfil, edite oprofile_default
(no Ubuntu, está localizado em~/.ipython/profile_default
) e adicione algo como o seguinte na parte inferior:fonte
Como uma alternativa mais simples para a resposta aceita, no linux:
apenas defina um alias, por exemplo, coloque
alias pynp='python -i -c"import numpy as np"'
em seu arquivo ~ / .bash_aliases. Você pode então invocar python + numpy compynp
, e ainda pode usar apenas python compython
. O comportamento dos scripts Python não é alterado.fonte
PYTHONSTARTUP
só é invocado no modo interativo , então o comportamento dos scripts python é mantido inalterado de qualquer maneira. Um alias também pode ser criado com uma referência de arquivo:alias pynp='PYTHONSTARTUP="~/.startup.py" python'
Você pode criar um script python normal como
import_numpy.py
ou qualquer coisa que desejarem seguida, lance-o com a
-i
bandeira.python -i import_numpy.py
Assim, você terá flexibilidade para escolher apenas os módulos desejados para diferentes projetos.
fonte
Como ravenac95 mencionou em sua resposta , você pode criar um perfil personalizado ou modificar o perfil padrão. Esta resposta é uma visão rápida dos comandos do Linux necessários para
import numpy as np
automaticamente.Se você quiser usar um perfil personalizado chamado
numpy
, execute:Ou se você deseja modificar o perfil padrão para sempre importar numpy:
Confira o tutorial de configuração do IPython para ler mais a fundo sobre a configuração de perfis. Veja
.ipython/profile_default/startup/README
para entender como funciona o diretório de inicialização.fonte
Minha
ipython
invocação padrão é--pylab
tem sido umaipython
opção há algum tempo. Importanumpy
e (partes de)matplotlib
. Adicionei a--Inter...
opção para não usar a*
importação, pois prefiro usar a explícitanp....
.Pode ser um atalho, apelido ou script.
fonte