Если вы — частый пользователь IPython или Jupyter Notebooks и вам надоело постоянно импортировать одни и те же библиотеки, то попробуйте этот способ:
- Перейдите к
~/.ipython/profile_default
- Создайте папку
startup
, если она отсутствует - Добавьте новый файл Python под названием
start.py
- Добавьте файлы, которые нужно импортировать
- Запустите IPython или Jupyter Notebook, и необходимые библиотеки загрузятся автоматически!
Рассмотрим каждый шаг визуально. Размещение 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