Я набираю текст import numpy as np
почти каждый раз, когда запускаю интерпретатор Python. Как мне настроить интерпретатор python или ipython так, чтобы numpy импортировался автоматически?
120
Используйте переменную среды PYTHONSTARTUP . Из официальной документации:
Если это имя читаемого файла, команды Python в этом файле выполняются до отображения первого приглашения в интерактивном режиме. Файл выполняется в том же пространстве имен, в котором выполняются интерактивные команды, так что определенные или импортированные в нем объекты можно использовать без квалификации в интерактивном сеансе.
Итак, просто создайте сценарий python с оператором импорта и укажите на него переменную среды. Сказав это, помните, что «Явное всегда лучше, чем неявное», поэтому не полагайтесь на это поведение для производственных сценариев.
Для Ipython см. Этот учебник о том, как создать файл ipython_config.
env PYTHONSTARTUP="~/.startup.py"
не сработала для меняexport PYTHONSTARTUP=~/.python_shell_startup.py
для установки переменной.Для ipython есть два способа добиться этого. Оба связаны с каталогом конфигурации ipython, который находится в
~/.ipython
.~/.ipython/profile_default/startup/
Для простоты я бы использовал вариант 2. Все, что вам нужно сделать, это поместить файл
.py
или.ipy
в~/.ipython/profile_default/startup
каталог, и он будет автоматически выполнен. Таким образом, вы можете просто поместить егоimport numpy as np
в простой файл, и у вас будет np в пространстве имен вашего приглашения ipython.Вариант 2 фактически будет работать с настраиваемым профилем, но использование настраиваемого профиля позволит вам изменить требования к запуску и другую конфигурацию в зависимости от конкретного случая. Однако, если вы всегда хотели
np
должны быть доступны для вас , то непременно поместите его в каталог запуска.Для получения дополнительной информации о настройке ipython. В документах есть гораздо более полное объяснение.
источник
~/.config/ipython/profile_default/startup/
а не~/.ipython/profile_default/startup/
Я использую файл ~ / .startup.py следующим образом:
Затем определите PYTHONSTARTUP = ~ / .startup.py, и Python будет использовать его при запуске оболочки.
Здесь есть операторы печати, поэтому, когда я запускаю оболочку, я получаю напоминание о том, что это действует, и что уже было импортировано.
pp
Ярлык действительно слишком удобно ...источник
~
качестве замены для$HOME
работы или нет, но вместо этого относительного пути я должен был использовать абсолютный путь на MacOS, рыбы и Python3.Хотя создание настраиваемого сценария запуска, как предлагает ravenac95, является лучшим общим ответом для большинства случаев, он не будет работать в тех случаях, когда вы хотите использовать файл . Если вы иногда работаете с Python 2.x, но хотите использовать современное разделение, есть только один способ сделать это. После создания профиля отредактируйте (для Ubuntu это находится в ) и добавьте что-то вроде следующего внизу:
from __future__ import X
profile_default
~/.ipython/profile_default
источник
В качестве более простой альтернативы принятому ответу в Linux:
просто определите псевдоним, например, поместите
alias pynp='python -i -c"import numpy as np"'
в ваш файл ~ / .bash_aliases. Затем вы можете вызвать python + numpy с помощьюpynp
, и вы все равно можете использовать только python сpython
. Поведение скриптов Python остается неизменным.источник
PYTHONSTARTUP
вызывается только в интерактивном режиме, поэтому поведение скриптов Python в любом случае остается неизменным. Также можно создать псевдоним со ссылкой на файл:alias pynp='PYTHONSTARTUP="~/.startup.py" python'
Вы можете создать обычный скрипт Python как
import_numpy.py
или что угоднозатем запустите его с
-i
флагом.python -i import_numpy.py
Такой способ даст вам возможность выбирать только те модули, которые вам нужны для разных проектов.
источник
Как упоминал ravenac95 в своем ответе , вы можете создать собственный профиль или изменить профиль по умолчанию. Этот ответ представляет собой быстрый обзор команд Linux, необходимых для
import numpy as np
автоматического выполнения.Если вы хотите использовать настраиваемый профиль под названием
numpy
, запустите:Или, если вы хотите изменить профиль по умолчанию, чтобы всегда импортировать numpy:
Ознакомьтесь с руководством по настройке IPython, чтобы узнать больше о настройке профилей. Посмотрите,
.ipython/profile_default/startup/README
чтобы понять, как работает каталог автозагрузки.источник
Мой
ipython
вызов по умолчанию--pylab
былipython
вариантом в течение некоторого времени. Он импортируетnumpy
и (части)matplotlib
. Я добавил--Inter...
опцию, чтобы она не использовала*
импорт, поскольку я предпочитаю использовать явныйnp....
.Это может быть ярлык, псевдоним или скрипт.
источник