Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@Kodaira_

IPython起動時にいつも使うモジュールをimportする設定

やりたいこと

いつも使うモジュールを毎回importするのがめんどくさいので、起動時にimportしといてもらいたい。

tl;dr

~/.ipython/profile_default/hoge.py以下にimport部分を書いておく。

IPython startup directory

たぶん、~/.ipython/profile_default/ここにディレクトリがある。
そこにREADMEがあって、
1. ここにある.py.ipyファイルを実行前に読み込んでくれる。
2. ファイル名の辞書順で実行してくれる。
的なことが書いてある。

使ってみる

適当に~/.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

6
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What is going on with this article?