こんにちは,しまさん(@shimasan0x00)です.
私は高専に入ってすぐはWindows PCを使っていたはずなのですが,卒業していたときに手に持っていたのはMacbook Proでした.
大学に移ってからは演習で使うPCはLinuxだったし,研究室のPCはiMacなのでつい最近までWindowsは触ってませんでした.
ですが今年消費税が10%になるということで自宅環境で機械学習したいというのとGameしたいと思って自作Windows PCを組みました.
そこで久々にWindowsを触ることになります.
シェルがデフォルトでcmd.exe,PowerShellがあったのですがPowerShellの独特のエグミに体がついていけませんでした(好きな人もいると思いますがごめんなさい).
あと,WindowsとPythonの相性が微妙でウッてなりましたね.
結局心が折れてAnacondaを使い,cupyインストールしてhogehogeやってました.
AppleとNvidiaが仲良ければなぁなんて夢を見つつPowerShellを我慢して使ってたのですがどうも我慢してたのは自分が情弱だったからっぽい.
Windowsで使えるターミナルとシェルのまとめWindows で使えるターミナルとシェルをまとめてみた。Windows でも選択肢は意外と多い。ターミナルとシェルの組み合わせで自分好みの環境を構築できるだろう。ター… Windowsで使えるターミナルとシェルのまとめ – Qiita – Qiita |
最近Mac側のシェルをzshからxonsh on zshに変更したときに色々調べたらどうもWindowsでxonsh on bashの構成がいけるらしい.
はじめに これはXonsh Advent Calendar 2018の23日目の記事です。 概要 同カレンダー3日目の記事の終わりでも書いたように、できるだけストレスなくWindowsにXonshを導入する方法について考えてみました。 考えてみた結果、「Git for Windows(GitBash)の上で起動するのが一番カジュアルじゃね?」という結論に達しました。 以下、具体的な準備について書いていきます。 1. Git for Windowsをインストールする とりあえず、コマンドプロンプトよりはシェルの上で使いたいので、シェル環境を導入したいところです。 Windows上で動くシ… XonshをWindowsで(比較的)お手軽に使ってみる – かーくがかーくよ – かーくがかーくよ |
PowerShellの独特の表現から逃げれる&Macで使用しているxonshrcを使える…となればやるしかない!!
環境
- Windows10(ver.1809)
- Python 3.7.3(Anaconda)
スポンサーリンク
Anacondaのインストール
Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities. Anaconda | The World's Most Popular Data Science Platform – Anaconda |
ここからインストーラをダウンロードして,指示に従うだけでokです.
Anacondaをインストールして使えるものについては過去記事を参照ください.
スポンサーリンク
xonshのインストール
Anacondaを使用している人は以下の2行を実行してしまえば終了です.
conda config --add channels conda-forge
conda install xonsh
xonsh環境の構築
まず,xonshに関してですがやはりばんくしさんのブログは非常に勉強になります.
機械学習とか好きな技術話とかエンジニア的な話とかを書く xonsh カテゴリーの記事一覧 – Stimulator – Stimulator |
xonshのAdvent Calenderもおすすめです(といってもこれもばんくしさんが作成していますが).今年もあるのかな?
# Python Shell「Xonsh」の話をするAdvent Calendar- Xonsh知らなかったけどアドベントカレンダーに向けて使ってみた- Xonsh導入と環境構築- Xonshの便利なAPIの紹介- Xonshの拡張作った- Xonsh上でPythonとsh使って面白い事やった話本当なんでもあり。現状日本語情報が少ない(実質無い)ので、ほんと少しでも書いてくれるだけでハッピー。以下参考情報Doc : http:… Xonsh Advent Calendar 2018 – Qiita – Qiita |
Macだと現状こんな感じです.
xonshrc書くの面倒ならとりあえずばんくしさんのこの記事のrcをコピペするだけで超便利になります.
– はじめに – この記事はXonsh Advent Calendar 2018 – Qiita最終日の記事です。私のxonshrc、業務用のコマンドとか含めると大体1500行くらいあるんでgithubで公開するんじゃなくて一部ずつ切り取ってここで紹介しようかなと思いました。なんか作る時の参考になれば幸いです。 – はじめに – – 基本的な設定 – 環境変数 aliases xontrib – ライブラリ周り – import, xontrib_load時の自動install importの遅延ロード – 認証周り – 1passwordを利用したpassword, one-time-pas… 2018年のxonshrc – Stimulator – Stimulator |
注意点
- タブ補完でエラーになる??
環境Windows 10 64bitPython 3.6.3xonsh: xonsh/0.6.0事象サブプロセスモードの何かしらでで補完を試みると、下記のエラーException … xonshのタブ補完でなんかエラーになる件 – Qiita – Qiita |
以下を追加すればいいらしい(けどWindowsってやっぱり地雷多くない??)
import _locale
_locale._getdefaultlocale = (lambda *args: ['ja_JP', 'utf_8'])
- 単純なlsコマンドだとエラーが出る
以下のようにls.exe
とすればいいみたい(ってやっぱりじら…)
aliases['ls'] = "ls.exe --color=auto"
- translate-shellをインストールするときにmakeコマンドがない
ひよこエンジニア / Python / JavaScript / Blockchain Windowsでmakeコマンドを使えるようにする – mktia’s note |
私の場合makeコマンドがなかったので上記サイトを参考にインストールしました.
translate-shellはGit Bashを管理者権限で立ち上げてからmakeコマンドでインストールしましょう.
- cursesがないと言われる
Support for the standard curses module on Windows windows-curses – PyPI |
Windows用にライブラリが用意されているようです.
cursesをインポートしている部分を「windows-curse」に変えましょう.
スポンサーリンク
Git for Windowsのインストール
We bring the awesome Git VCS to Windows Git for Windows – |
ここからDownloadして,インストールします.
日本語周りのことについて困ったらこのサイトを見ればよさそうです.
追記(2.x): Git for Windows は2015年8月にリリースされた 2.5.0 以降日本語まわりの問題もいくつか改善されているので追記しました。2.x 系では開発ベースも変わり、もはや msysgit ではなくなっ… Git for Windows で日本語を使いたい – Qiita – Qiita |
.bashrcの設定
xonshの設定が終わったら~/.bashrc
の末尾に
python -m xonsh
を追加してxonshが起動するようにすればOKです.
※私の環境だと「xonsh」コマンドを実行すると止まってしまうため「ipython」に書き換えて実行させてます.環境変数がうまくいってないのかもです.
とりあえず起動
このlsは先程のls.exe部分を記述していない場合です.color設定を追加する場合にls.exeじゃないといけないみたいですね.
さいごに
ようやくPoerShellから離脱することはできました.
でもどうせWindows固有のあれこれでUNIX系OSでは必要ない対処をしなくてはいけなかったりうまくいかなかったりするんだろうなと思います.
やはり石仮面と矢から逃れることはできないんでしょうね.
p.s.
日本語フォントがあれだったので書いたあとにRicty Diminishedに変えました.
Ricty Diminished — fonts for programming. Contribute to edihbrandon/RictyDiminished development by creating an account on GitHub. edihbrandon/RictyDiminished – GitHub |