やりたいこと
いつも使うモジュールを毎回importするのがめんどくさいので、起動時にimportしといてもらいたい。
tl;dr
~/.ipython/profile_default/hoge.py
以下にimport部分を書いておく。
IPython startup directory
たぶん、~/.ipython/profile_default/
ここにディレクトリがある。
そこにREADME
があって、
- ここにある
.py
、.ipy
ファイルを実行前に読み込んでくれる。 - ファイル名の辞書順で実行してくれる。
的なことが書いてある。
使ってみる
適当に~/.ipython/profile_default/00-startup.py
に以下を書く。
~/.ipython/profile_default/00-startup.py
from collections import Counter
import pickle
def pload(fname):
return pickle.load(open(fname, 'rb'))
def pdump(object, fname):
pickle.dump(object, open(fname, 'wb'))
ipython起動して、簡単にテスト
test.
$ ipython
In [1]: pdump([1,2,3], "hoge")
In [2]: pload("hoge")
Out[2]: [1, 2, 3]
In [3]: Counter("HJKLHJKLLKJLJKJKJLKJHKJJLHKLJLK")
Out[3]: Counter({'H': 4, 'J': 10, 'K': 9, 'L': 8})
その他
入れすぎたり、重い処理を書くと起動が遅くなるから注意。
jupyter notebook
, jupyter lab
とかも同じ設定でいけると思う。
いちおうipython hoge.py
ってやれば、事前にimportしてからhoge.py
を実行くれる。
普通のpython
で起動するインタラクティブシェルの場合は環境変数のPYTHONSTARTUP
にファイルのパスを設定すればいい。 https://docs.python.org/ja/3/using/cmdline.html#envvar-PYTHONSTARTUP