Я нахожу, что набираю import numpy as np
почти каждый раз, когда я запускаю интерпретатор python. Как настроить интерпретатор python или ipython, чтобы автоматически импортировать numpy?
Автоматически импортировать модули при вводе интерпретатора python или ipython
Ответ 1
Используйте переменную окружения PYTHONSTARTUP. Из официальной документации:
Если это имя читаемого файла, команды Python в этом файл выполняется до того, как первое приглашение будет отображаться в интерактивном Режим. Файл выполняется в том же пространстве имен, где команды выполняются так, что объекты, определенные или импортированные в нем, могут быть используется без квалификации в интерактивном сеансе.
Итак, просто создайте python script с инструкцией import и укажите для него переменную окружения. Сказав это, помните, что "Явный всегда лучше, чем неявный", поэтому не полагайтесь на это поведение для производственных скриптов.
Для Ipython см. этот учебник о том, как сделать файл ipython_config
Ответ 2
Для ipython существует два способа добиться этого. Оба включают каталог конфигурации ipython, который находится в ~/.ipython
.
- Создайте собственный профиль ipython.
- Или вы можете добавить файл запуска в
~/.ipython/profile_default/startup/
Для простоты я бы использовал вариант 2. Все, что вам нужно сделать, это разместить файл .py
или .ipy
в каталоге ~/.ipython/profile_default/startup
, и он будет автоматически выполнен. Таким образом, вы можете просто разместить import numpy as np
в простом файле, и у вас будет np в пространстве имен вашего приглашения на ipython.
Вариант 2 фактически будет работать с настраиваемым профилем, но использование настраиваемого профиля позволит вам изменить требования к запуску и другую конфигурацию, основанную на конкретном случае. Однако, если вы всегда хотели бы, чтобы np
был доступен вам, то, конечно, поместите его в каталог запуска.
Дополнительные сведения о конфигурации ipython. docs имеют гораздо более полное объяснение.
Ответ 3
Я использую файл ~/.startup.py следующим образом:
# Ned .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
очень удобен...
Ответ 4
В качестве более простой альтернативы принятому ответу на linux:
просто определяют псевдоним, например. поместите alias pynp='python -i -c"import numpy as np"'
в ваш файл ~/.bash_aliases. Затем вы можете вызвать python + numpy с помощью pynp
, и вы все равно можете использовать только python с python
. Поведение скриптов Python остается нетронутым.
Ответ 5
При создании пользовательского запуска script, например ravenac95 , это лучший общий ответ для в большинстве случаев он не будет работать в случаях, когда вы хотите использовать from __future__ import X
. Если вы иногда работаете в Python 2.x, но хотите использовать современное разделение, есть только один способ сделать это. Создав профиль, отредактируйте 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',
]
Ответ 6
Как 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, чтобы узнать больше о настройке профилей. См. .ipython/profile_default/startup/README
, чтобы понять, как работает каталог запуска.
Ответ 7
Мой вызов ipython
по умолчанию
ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False
--pylab
был опцией ipython
в течение некоторого времени. Он импортирует numpy
и (части) matplotlib
. Я добавил параметр --Inter...
, поэтому он не использует импорт *
, так как я предпочитаю использовать явный np....
.
Это может быть ярлык, псевдоним или script.