2017年版Windowsでそれなりな暮らしをするには


背景

本当に個人メモのままかもしれないが、
気が向いたら、追記していくつもり。

どうでもいいけど念のため今回のPCのハードウェア構成

現在できてること

  • Node.js
  • VS環境でのmrubyのビルド
  • cgo
  • OpenCV
  • Tensorflow
  • Docker
  • Rust
  • Julia
  • OCaml

なにはなくともNode.jsのネイティブモジュールがビルドできる環境

Python 2.7系を公式で入れる

Pythonの場合はAnaconda等があるので、3系はそちらにして、2系は普通に入れた。

VS2017にアップデートした

Node.jsのV8エンジンがVS2017を要求するようになりVS2017に
アップデートした

こっちに詳細?がある。

VS2015を入れる(旧)

こちらも特にC++がビルドできるようにVC++をチェックする程度でインストール。

nvm-windows

LinuxやmacOSではnodebrewを絶賛愛用中なのだが。。。

Windowsではnvm-windowsというGo実装のバージョン管理ツールを利用。

githubページに従い、msiインストーラー版をおとなしく入れた。

nodebrewと違い、v6とかやるとNG 「6.9.2」のようにきっちりバージョンを指定する必要あり。

nvm arch
nvm list available
nvm install 6.9.2
nvm use 6.9.2

確認

ffiを入れて、factorialを動かす
VSの開発者用プロンプトを起動して、ここで操作

cd %HOMEPATH%\Documents\work\nodejs
mkdir ffi 
cd ffi
npm install ffi
cd node_mudules\ffi\examples\factorial
type README.md

node-canvasを入れる

node-canvasに必要なGTK2のインストールに関して

画面キャプチャー

VSでmrubyをビルドできる環境の構築

ChocolateyでCRubyとbison&flexを入れる

cinst ruby
cinst winflexbison

VSの開発者用のプロンプトを開いて、
以下のように環境変数YACCを設定する。

あとはrakeでmrubyがビルドできる。

GPU利用のOpenCV

NVidiaの公式からCUDA8.0系を入れた。

どうやらOpenCV 3.1.0だとCUDAありでビルドがうまくできない模様。
githubのOpenCVをcloneしてこちらでcmakeでビルドしたらうまくできた。

ちなみに、python3のモジュールはworldがオンだとビルドされない模様。

GPU利用したTensorflowを動かす

cuDNNだかを入れる

なんか適当に英語で回答して、メールを受け取り、zipファイルを展開してCUDAのディレクトリの

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\

配下にコピーした。

Anacondaで3.5系のPythonを入れる

昔、GPUを使う場合は有料版が必要みたいな記述見かけた記憶があるが、少なくともTensorflowはGPU利用できる環境がタダで出来るようなので、Anacondaでチャレンジした。

pipのアップデートとsetuptoolsのアップデート

公式のTensorflowのWindows向けのガイド通りにしてもエラーだった。
pipのアップデートをしろとこのエラーの際に言われて、これを実行した。
しかし、その後もエラー。

以下のようにsetuptoolsなるものをアップデートして

pip install --upgrade -I setuptools

その後、ガイド通り、インストールできた。

動作確認

Tensorflowのサンプル的にな画像分類のコードをWebアプリ化したものを
Windows環境で動かせている。

GPUを使ったPyTorchでCycleGANをやった

Tensorflowに続いて2017年はPyTorchをつかったCycleGANを手元で動かせた。

Cordova

  • JDK
  • Android Studio
npm install -g cordova

確認コマンド

cordova create myapp
cd myapp
cordova add platform android
cordova requirements

Docker

Windows 10 Proじゃないので、Docker Toolboxを入れた。
VitrualBoxはすでに入れているのでチェックを外してインストール。

OpenSSHでsshdを動かす

cmderをつかう

chocolatyで入れた

chocolatyで入れたパッケージの管理

Qiita内では以下の記事で、インストール済みのパッケージリストが

choco list -lo

で取得できることを知った。

Goでcgoをつかうには

chocolateyでmsys2をいれてそこに64ビット版のgccを入れた模様。。

set PATH=C:\tools\msys64\mingw64\bin;%PATH%

この状態でcgoが使える。

WindowsでJuliaを組み込んで使う

OCamlをいれる

いくつか選択肢がある模様。
とりあえず、公式を選択。

以下のドキュメントを読めとのこと

OSSの代表格ともいえるWebブラウザのFirefoxをソースからビルドする

WSLでXクライアントを動かす

WindowsにXサーバーを入れれば動かせるが、それ以外の方法を試した。

関連記事