[Translation] Automatic import of libraries in IPython and Jupyter Notebook
Today we will examine a very short, but useful life hack about what needs to be done so as not to introduce, for example, “import pandas as pd” 10 times a day.
Also let's not forget, and automate and reduce everything effectively:
For our life hacking you need:
- Go to ~/.ipython/profile_default;
- Create a folder named startup if it is not already there;
- Add a new Python file named start.py;
- Place your favorite import into this file;
- Launch IPython or Jupyter Notebook, and your favorite libraries will be automatically loaded every time!
For clarity, let's visualize everything. First, the location of start.py:
Here is the content of my start.py file:
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'
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 library have been loaded.')
Now, when I start an IPython session, I see:
Also, we can confirm that the libraries were loaded by checking globals ():
globals () ['pd']
& lt; module 'pandas' from'/usr/local/lib/python3.6/site-packages/pandas/__init__.py'>
globals () ['np']
& lt; module 'numpy' from '/usr/local/lib/python3.6/site-packages/numpy/__init__.py'>
That's all. Now we can use our interactive session without having to enter commands to load these libraries!
- The file can be named as you like (start.py is easy to remember), and you can also have several startup/files. They run in lexicographical order when you start IPython.
- If you do this in Jupyter, you won’t get a cell with import data, so if you are sharing Jupyter, be sure to copy the contents of start.py into the first cell. This will allow people to find out which libraries you are using.
- If you are working on multiple computers, you will have to repeat the steps. Make sure you use the same start.py script to get the same import!
- Thanks to a reply from Stack Overflow and official documentation .
If someone has something to add or share life hacking - write in the comments.
Subscribe to the Neuron channel in the Telegram (@neurondata) - there are fresh articles and news from the world of data science appear every week. Thanks to everyone who helps and shares useful links, especially Vitaly Oreshkin and Andrey Bondarenko.
Source text: [Translation] Automatic import of libraries in IPython and Jupyter Notebook