接着剤の精進日記

競プロでの精進や研究に関係したことを書いていきます。

Xonshを導入してみた

はじめに

なぜ、Xonshを導入しようかと思ったかと言うと
TwitterのTLで話題に上がってて気になったので導入してみることに。
何やら日本語の記事が少ないので売名ができるらしい
自分と同じように興味を持った人へのハードルを下げるために導入記事を書いてみることにします。

この記事は Xonsh Advent Calendar 2017 の記事です。

Xonshとは

導入する前にXonshとはなんぞやと言うことを簡単に調べてみる。
XonshはPythonで作られたもので、Unixライクなシェル言語でコマンドプロンプトらしい。
クロスプラットフォームでもあるとか。
vaaaaaanquish.hatenablog.com

環境

Window10Home
Anaconda4.4.0
Python3.6.3
Anaconda Prompt使用

導入

早速導入していくために公式のインストール手順を見ていこう。
Windows Guide — xonsh 0.6.0.dev151 documentation
condaパッケージマネージャーを使うと簡単らしい。
Anacondaは使っているから、せっかくなのでそちらの方法を試してみよう。
Python3.4以降にしか対応していないようなので注意。
legacy Python (2.7)には対応していないと言っているので
みんなも小学生に馬鹿にされないように3系を使おう!

さて、インストールするには以下のコマンドを叩けばいいみたい。

conda config --add channels conda-forge
conda install xonsh

無事インストールが終わったので起動。

f:id:tkm-kyudo:20171216231540p:plain

無事導入が終わりました。

使ってみる

導入が思いの外簡単でしたね。
せっかくなので使ってみよう。
Tutorial — xonsh 0.6.0.dev151 documentation

1 + 1
>2
import sys
print(sys.version)
>3.6.3 |Anaconda custom (64-bit)| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)]

こんな感じでPythonインタプリタとしても使えるみたい。
もちろん関数の定義も可能

def f():
    return "xonsh"

f()
>'xonsh'

インデントを勝手にやってくれるのでいちいちスペースやTABを叩かなくて良いのは地味に便利。

環境変数

環境変数も使うことができる。
使うには環境変数の名前の前に$をつける。

$PWD
'C:/Users/username'

好きなように環境変数を作ったり消したりもできる。

$GOAL = 'Pythonista'
print($GOAL)
>Pythonista
del $GOAL
print($GOAL)
>KeyError: 'Unknown environment variable: $GOAL'

導入してみた感想

導入してみて、チュートリアルをやった程度であるが、
これはなかなか面白そうだと感じた。
ただ、シェルスクリプトにあまり詳しくないので
他の方のAdvent Calendarの記事を見て勉強してみようと思う。

終わりに

今回はWinで導入してみて、思っていたよりも簡単に導入できた。
しばらく勉強や使ってみたりして、使えそうならMacにも導入してみたいと思う。
みんなもこれでXonshライフをエンジョイしよう。

他の方の記事は以下から。
qiita.com