Автоматический импорт модулей при вводе интерпретатора python или ipython
я печатаю import numpy as np
почти каждый раз, когда я запускаю интерпретатор python. Как настроить интерпретатор python или ipython, чтобы numpy автоматически импортировался?
7 ответов:
используйте переменную окружения PYTHONSTARTUP. Из официальной документации:
Если это имя читаемого файла, команды Python в этом файл выполняется перед первым приглашением отображается в интерактивном режиме режим. Файл исполняется в том же пространстве имен, где интерактивные команды выполняются так, что объекты, определенные или импортированные в него, могут быть используется без квалификации в интерактивном режиме сессия.
Итак, просто создайте скрипт python с оператором import и укажите на него переменную среды. Сказав это, помните, что "явное всегда лучше, чем неявное", поэтому не полагайтесь на это поведение для производственных сценариев.
для Ipython, см. этой учебник о том, как сделать файл ipython_config
для ipython, есть два способа достичь этого. Оба включают каталог конфигурации ipython, который находится в
~/.ipython
.
- создайте пользовательский профиль ipython.
- или вы можете добавить загрузочный файл в
~/.ipython/profile_default/startup/
для простоты я бы использовал вариант 2. Все, что вам нужно сделать, это разместить
.py
или на~/.ipython/profile_default/startup
каталог и он будет автоматически выполнен. Так что вы могли бы просто местоimport numpy as np
в простом файле и у вас будет np в пространстве имен вашего приглашения ipython.Вариант 2 фактически будет работать с пользовательским профилем, но использование пользовательского профиля позволит вам изменить требования к запуску и другую конфигурацию на основе конкретного случая. Однако, если бы вы всегда как
np
чтобы быть доступным для вас, то во что бы то ни стало поместите его в каталог автозагрузки.для получения дополнительной информации о конфигурации ipython. Элемент docs есть гораздо больше полное объяснение.
Я использую ~/.startup.py файл вот такой:
# Ned's .startup.py file print("(.startup.py)") import datetime, os, pprint, re, sys, time print("(imported datetime, os, pprint, re, sys, time)") pp = pprint.pprint
затем определите PYTHONSTARTUP=~/. startup.py, и Python будет использовать его при запуске оболочки.
операторы печати существуют, поэтому, когда я запускаю оболочку, я получаю напоминание о том, что она действует, и что уже было импортировано. Элемент
pp
ярлык очень удобно тоже...
как более простая альтернатива принятому ответу, на linux:
просто определите псевдоним, например put
alias pynp='python -i -c"import numpy as np"'
в свой ~/.файл bash_aliases. Затем вы можете вызвать python+numpy с помощьюpynp
, и вы все еще можете использовать только python сpython
. Поведение скриптов Python' остается нетронутым.
при создании пользовательского сценария запуска, как ravenac95предполагает это лучший общий ответ для большинства случаев, он не будет работать в условиях, когда вы хотите использовать
from __future__ import X
. Если вы иногда работаете в Python 2.но хотите использовать современное деление, есть только один способ сделать это. После того, как вы создадите профиль, отредактируйтеprofile_default
(для Ubuntu это находится в~/.ipython/profile_default
) и добавить что-то вроде следующего до низа:c.InteractiveShellApp.exec_lines = [ 'from __future__ import division, print_function', 'import numpy as np', 'import matplotlib.pyplot as plt', ]
как ravenac95 упомянул в своем ответ, вы можете либо создать пользовательский профиль или изменить профиль по умолчанию. Этот ответ-быстрый просмотр команд Linux, необходимых для
import numpy as np
автоматически.если вы хотите использовать пользовательский профиль под названием
numpy
выполните:ipython profile create numpy echo 'import numpy as np' >> $(ipython locate profile numpy)/startup/00_imports.py ipython --profile=numpy
или если вы хотите изменить профиль по умолчанию, чтобы всегда импортировать numpy:
echo 'import numpy as np' >> $(ipython locate profile default)/startup/00_imports.py ipython
Проверьте IPython config tutorial Читать подробнее подробно о настройке профилей. Смотрите
.ipython/profile_default/startup/README
чтобы понять, как работает каталог автозагрузки.
по умолчанию
ipython
вызовipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False
--pylab
былipython
опция на некоторое время. Он импортируетnumpy
и (частей)matplotlib
. Я добавил--Inter...
опция, поэтому она не использует*
импорт, так как я предпочитаю использовать явноеnp....
.это может быть ярлык, псевдоним или скрипт.