Я набираю текст import numpy as np
почти каждый раз, когда запускаю интерпретатор Python. Как мне настроить интерпретатор python или ipython так, чтобы numpy импортировался автоматически?
Я набираю текст import numpy as np
почти каждый раз, когда запускаю интерпретатор Python. Как мне настроить интерпретатор python или ipython так, чтобы numpy импортировался автоматически?
Ответы:
Используйте переменную среды 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 следующим образом:
# 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
Ярлык действительно слишком удобно ...
~
качестве замены для $HOME
работы или нет, но вместо этого относительного пути я должен был использовать абсолютный путь на MacOS, рыбы и Python3.
Хотя создание настраиваемого сценария запуска, как предлагает ravenac95, является лучшим общим ответом для большинства случаев, он не будет работать в тех случаях, когда вы хотите использовать файл . Если вы иногда работаете с Python 2.x, но хотите использовать современное разделение, есть только один способ сделать это. После создания профиля отредактируйте (для Ubuntu это находится в ) и добавьте что-то вроде следующего внизу:from __future__ import X
profile_default
~/.ipython/profile_default
c.InteractiveShellApp.exec_lines = [
'from __future__ import division, print_function',
'import numpy as np',
'import matplotlib.pyplot as plt',
]
В качестве более простой альтернативы принятому ответу в 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'
Как упоминал 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
чтобы понять, как работает каталог автозагрузки.
Мой ipython
вызов по умолчанию
ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False
--pylab
был ipython
вариантом в течение некоторого времени. Он импортирует numpy
и (части) matplotlib
. Я добавил --Inter...
опцию, чтобы она не использовала *
импорт, поскольку я предпочитаю использовать явныйnp....
.
Это может быть ярлык, псевдоним или скрипт.