Мені здається, що я друкую import numpy as np
майже кожного разу, коли запускаю інтерпретатора пітона. Як встановити інтерпретатор python чи ipython, щоб numpy автоматично імпортувався?
Мені здається, що я друкую import numpy as np
майже кожного разу, коли запускаю інтерпретатора пітона. Як встановити інтерпретатор 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, fish та python3.
При створенні сценарію призначеного для користувача запуску , як 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',
]
Як простіша альтернатива прийнятій відповіді, в Linux:
просто визначте псевдонім, наприклад, помістіть alias pynp='python -i -c"import numpy as np"'
у файл ~ / .bash_aliases файл. Потім можна викликати python + numpy за допомогою pynp
, а ви все одно можете використовувати просто python python
. Поведінка сценаріїв Python залишається недоторканою.
PYTHONSTARTUP
викликається лише в інтерактивному режимі, тому поведінка сценаріїв пітона залишається недоторканою в будь-якому випадку. Псевдонім також можна створити із посиланням на файл: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
Або якщо ви хочете змінити профіль за замовчуванням, щоб завжди імпортувати нуме:
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....
.
Це може бути ярлик, псевдонім або сценарій.