mathjax

2013年9月5日木曜日

Ipython Notebookを簡単に立ち上げる

Ipython Notebookを簡単に立ち上げる

初期設定をすることにより、

ipython notebook

と打ち込むだけでpylabなどの設定が済んだ状態でダッシュボードが立ち上がります。
しかし、16文字を打ち込むのは面倒。コマンドプロンプトを立ち上げたり、ディレクトリを移動したり、バッチファイルをディレクトリ毎に書いたりというのも面倒」という方(私)のために、簡単なスクリプトを書いてみました。

Pythonはこういう用途、つまり日常的なPC周りのルーチンの省力化にも使えるという例として見てもらっても良いと思います。

Windows向けに作りましたので、よろしければ使ってみてください。
utf-8に対応したテキストエディタかpython用のエディタ(spyder, IDLEなど)を利用すると良いと思います。


ノートブックファイル(*.ipynb)をドラッグアンドドロップすると、そのファイルが立ち上がります。
違う拡張子のファイルをドロップすると、そのディレクトリに移動してからダッシュボードが立ち上がります。
ただ、ダブルクリックすると、デフォルトディレクトリでダッシュボードが立ち上がります。
デフォルトディレクトリがNoneなら、このスクリプトが置かれたディレクトリに移動してダッシュボードが立ち上がります。

適宜、使いやすいように書き直して下さい。

Windowsのパイソンファイル(*.py)のアイコンがドラッグアンドドロップに使えるかどうかについては、あまりネット上では見つからないのですが、少なくとも私の環境ではOKでした。

かつては、バッチファイルを介する必要があったようです。

参考サイト:http://tuchinoko.moe-nifty.com/oboegaki/2004/12/_python_.html

# -*- coding: utf-8 -*-
"""
Created on Thu Sep 05 13:31:30 2013

@author: mk

script name: ipynb_starter.py

Drag and drop ipython notebook starting script.

Double click will start ipython notebook dashboard.
The directory can be set as the default_directory below.
If not set, the folder at which this script file placed will be used.

If a notebook file(*.ipynb) is dropped, change directory and start the notebook.
If the dropped file is not .ipynb, change directory and start the dashboard.

So, you can put this script on the Desktop folder or any other easy-access folder.

"""
#default_directory=None
default_directory='C:\Users\mk\Documents\Python'#ここにデフォルトディレクトリを書く
import sys

argvs = sys.argv
argc = len(argvs)
print argvs
print argc

import os
import os.path

if argc>1:
    os.chdir(os.path.dirname(argvs[1]))
    print os.path.dirname(argvs[1])
    if os.path.splitext(argvs[1])[1]=='.ipynb':
        s='ipython notebook '+os.path.basename(argvs[1])
    else:
        s='ipython notebook '
else:
    if default_directory==None:
        os.chdir(os.path.dirname(argvs[0]))
    else:
        os.chdir(default_directory)      
    print('no file is dropped')
    s='ipython notebook '

print(os.getcwd())
print s  
import subprocess
subprocess.Popen(s)

3 件のコメント:

  1. デフォルトディレクトリを書く際、\(バックスラッシュ)ではなくて、/(スラッシュ)を用いた方が良いようです。

    返信削除
  2. Pythonをインストールし直したら、ドラッグアンドドロップが効かなくなっていた。
    効かせるにはレジストリをいじれという情報ばかりがWebで見つかる。
    僕の環境はどうなっていたんだろうか??
    やはり上で触れたサイトのような、バッチファイルを使う方法が素直な様だ。
    バッチファイルへ関連付けるという意味ではない。これこそレジストリをいじる羽目になるから要注意!
    http://www.atmarkit.co.jp/ait/articles/1303/15/news042.html

    返信削除
  3. 上のコメントはanacondaによるインストールでしたが、これはアンインストールし、winpythonをインストールしなおして、winpythonのコンパネで登録(Register distribution)し、コンパネで環境変数pathの追加、パイソンファイルの右クリックから既定のプログラム(python.exe)の設定をやると、いつの間にかドラッグアンドドロップ機能が復活していた。いまだ原因は不明なまま。

    返信削除