Python

Если вы — частый пользователь IPython или Jupyter Notebooks и вам надоело постоянно импортировать одни и те же библиотеки, то попробуйте этот способ:

  1. Перейдите к ~/.ipython/profile_default
  2. Создайте папку startup, если она отсутствует
  3. Добавьте новый файл Python под названием start.py
  4. Добавьте файлы, которые нужно импортировать
  5. Запустите IPython или Jupyter Notebook, и необходимые библиотеки загрузятся автоматически!

Рассмотрим каждый шаг визуально. Размещение start.py:

Весь путь сценария Python на ~/.ipython/profile_default/startup/start.py

Содержимое start.py:

import pandas as pd
import numpy as np

# Pandas options
pd.options.display.max_columns = 30
pd.options.display.max_rows = 20

from IPython import get_ipython
ipython = get_ipython()

# If in ipython, load autoreload extension
if 'ipython' in globals():
    print('\nWelcome to IPython!')
    ipython.magic('load_ext autoreload')
    ipython.magic('autoreload 2')

# Display all cell outputs in notebook
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'

# Visualization
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import iplot, init_notebook_mode
init_notebook_mode(connected=True)
import cufflinks as cf
cf.go_offline(connected=True)
cf.set_config_file(theme='pearl')

print('Your favorite libraries have been loaded.')

При запуске сессии IPython появится следующее:

Проверить, загружены ли библиотеки, можно в globals():

globals()['pd']
<module 'pandas' from '/usr/local/lib/python3.6/site-packages/pandas/__init__.py'>
globals()['np']
<module 'numpy' from '/usr/local/lib/python3.6/site-packages/numpy/__init__.py'>

Теперь можно использовать интерактивную сессию без набора команд для загрузки этих библиотек! Этот способ также работает в Jupyter Notebook.

Примечания

  • Файл может иметь любое название (start.py легче запомнить), а startup/ может содержать несколько файлов. При запуске IPython они выполняются в лексикографическом порядке.
  • При использовании этого способа с Jupyter Notebook ячейка с импортированными файлами отсутствует, поэтому при совместном использовании записной книжки скопируйте содержимое start.py в первую ячейку. Таким образом, другие пользователи могут увидеть, какие библиотеки вы используете.
  • При работе на нескольких компьютерах нужно повторить эти действия. Обязательно используйте один и то же сценарий start.py, чтобы импортировать те же самые файлы!
  • Также посмотрите официальную документацию

Этот способ избавит вас от лишних действий при начале работы с IPython и поможет создать более эффективную рабочую среду.

Перевод статьи Will Koehrsen: How to Automatically Import Your Favorite Libraries into IPython or a Jupyter Notebook