Minicondaを試そうとしたが
普段、PythonをHomebrewでインストールしたpyenvで使っているのですが、ふとpyenv install -lを見てみたら色々なパッケージがありました。
$ pyenv install -l Available versions: 2.4.0 ... # ふつうのPython2系 2.7.7 3.0.1 ... # ふつうのPython3系 3.4.1 anaconda-1.4.0 ... # 数値計算ライブラリが最初から入ってるPython anaconda-1.8.0 ... miniconda-2.2.2 ... # なんだこれ? miniconda3-3.4.2 ...
どうやら、MinicondaというのはPythonで数値計算のライブラリを使うためのパッケージのようですが、Anacondaと違って、あとからライブラリを選んで入れるようでした。
http://conda.pydata.org/miniconda.html
そこでせっかくなので、試しに入れてみました。
まず、pyenvでMinicondaの最新版を入れます
$ pyenv install miniconda-3.4.2 $ pyenv global miniconda-3.4.2 $ pyenv rehash (一度シェルを開き直す) $ python --version Python 2.7.7 :: Continuum Analytics, Inc. $ conda list # packages in environment at /Users/rkmathi/.pyenv/versions/miniconda-3.4.2: # conda 3.5.5 py27_0 openssl 1.0.1h 0 pip 1.5.6 py27_0 pycosat 0.6.1 py27_0 python 2.7.7 0 pyyaml 3.11 py27_0 readline 6.2 2 requests 2.3.0 py27_0 setuptools 3.6 py27_0 sqlite 3.8.4.1 0 tk 8.5.15 0 wsgiref 0.1.2 <pip> yaml 0.1.4 1 zlib 1.2.7 1 $ conda install numpy Fetching package metadata: .. Solving package specifications: . Package plan for installation in environment /Users/rkmathi/.pyenv/versions/miniconda-3.4.2: The following packages will be downloaded: package | build ---------------------------|----------------- numpy-1.8.1 | py27_0 3.0 MB The following packages will be linked: package | build ---------------------------|----------------- numpy-1.8.1 | py27_0 hard-link Proceed ([y]/n)? yes Fetching packages ... numpy-1.8.1-py 100% |#######| Time: 0:00:46 67.81 kB/s Extracting packages ... [ COMPLETE ] |#######| 100% Linking packages ... [ COMPLETE ] |#######| 100 $ conda list # packages in environment at /Users/rkmathi/.pyenv/versions/miniconda-3.4.2: # ... numpy 1.8.1 py27_0 ...
こんなかんじで、とりあえずNumPyを入れるところまで動かしました。
次に、インストールしたパッケージを使って環境を作ります。
virtualenvwrapperみたいなかんじですが、環境を作るときの入れたいパッケージを自分で選び、足りない場合はダウンロードからしてくれます。
例として、Numpy 2.1.0とIPythonをインストールしたnumpy21
という名前の環境を作ってみます。
$ conda create -n numpy21 ipython numpy=2.1.0 Fetching package metadata: .. Solving package specifications: . Package plan for installation in environment /Users/rkmathi/.pyenv/versions/miniconda-3.4.2/envs/numpy21: The following packages will be linked: package | build ---------------------------|----------------- ipython-2.1.0 | py27_2 hard-link numpy-1.8.1 | py27_0 hard-link openssl-1.0.1h | 0 hard-link python-2.7.7 | 0 hard-link python.app-1.2 | py27_2 hard-link readline-6.2 | 2 hard-link sqlite-3.8.4.1 | 0 hard-link tk-8.5.15 | 0 hard-link zlib-1.2.7 | 1 hard-link Proceed ([y]/n)? yes Linking packages ... [ COMPLETE ] |######| 100% # # To activate this environment, use: # $ source activate numpy21 # # To deactivate this environment, use: # $ source deactivate # $ source activate numpy21
しかし、何故か自分の環境だとactivateした瞬間にシェルごと落ちました(;´Д`)
ナンデー
giter8とsbtでScalaを書く
最近Scalaを書くときはgiter8とsbtを使ってて、便利なのでメモがてら軽く手順などを書いてみます。
giter8
GitHubに上がっているhogehoge.g8
みたいなリポジトリをテンプレートとして、SBTなプロジェクトを生成してくれる便利なヤツです。
OSX & Homebrewを使っているなら、
$ brew install giter8
で入ります。
たとえば、https://github.com/rkmathi/basic-project.g8を使いたいなら、
$ g8 rkmathi/basic-project
で生成できます。
hoge
ブランチを使いたいなら、
$ g8 rkmathi/basic-project -b hoge
のように、-b <branch name>
オプションを使うことができます。
手順
1. giter8、sbtをインストール
OSXならば上に書いたとおり、
$ brew install sbt $ brew install giter8
でOKです。
2. giter8でSBTプロジェクトを作成する
自分がつくったrkmathi/basic-project
は、バージョンと組織名とプロジェクト名を指定するようにしています。
$ g8 rkmathi/basic-project version [0.0.1-M1]: organization [com.example]: name [basic-project]: Template applied in ./basic-project $
3. 実行する
runで実行、testでScalaTest実行、assemblyでsbt-assembly
でのJAR出力ができます。
$ cd basic-project $ sbt ... $ run $ test $ assembly
giter8便利˙꒳˙
Gentooドキュメントの翻訳
Gentooドキュメント http://www.gentoo.org/doc/en/index.xml にはよくお世話になっているのですが、このドキュメントは 日本語版 もあります。
日本語版は英語版をもとに翻訳されているのですが、記事によっては4年前から更新されていないものもあります。
古くなってしまっている翻訳を更新するには、GitHubのリポジトリ(https://github.com/gentoojp/gentoo-doc-ja)のIssueに登録して、プルリクエストを投げると処理してもらえます。
翻訳するには、xml/htdocs/doc/pofiles
以下にある、*.po
ファイルを編集します。
msgid
が原文で、msgstr
へそれに対する翻訳を書くという流れのようです。
翻訳が一通りおわったら、ルートディレクトリで
$ make report
をすると、正しいフォーマットで翻訳できたかどうかをチェックしてくれます。
このチェックをしないと、プルリクエストを投げたとしてもTravisCIで落ちてしまいます。
チェックが通ったらプルリクエストを投げて、レビューしてもらうのを待ちます。
これが、Gentooドキュメントのおおまかな翻訳フローになります。
さくらのGentooにsystemdを導入する
みんな大好き さくらのVPS にGentooLinuxを入れているのですが、久しぶりにカーネルアップデートしようと思い、ついでにsystemdを導入してみました。
Gentoo Wiki
みんな大好き Gentoo Wiki の Systemd を見てカーネルコンフィグとかしたらすんなり起動しました。
ip
ただ、起動はしたもののssh接続ができず、なんでだろうなーと見ていたらインターネットに繋がらなくなってしまっていました。
dhcpcdを使っていないので、どうやらnetwork.service
みたいなのを自分で書かないといけないようなので、 みんな大好きArch Forums をみて、同じように/etc/systemd/system/network.service
に設定ファイルをかきました。
$ cat /etc/conf.d/network interface=eth0 address=XXX.XXX.XXX.XXX (VPSのアドレス) netmask=255.255.254.0 (VPSのネットマスクアドレス) broadcast=XXX.XXX.XXX.XXX (VPSのブロードキャスト) gateway=XXX.XXX.XXX.XXX (VPSのゲートウェイ)
$ cat /etc/systemd/system/network.service [Unit] Description=Network Connectivity Wants=network.target Before=network.target [Service] Type=oneshot RemainAfterExit=yes EnvironmentFile=/etc/conf.d/network ExecStart=/sbin/ip link set dev ${interface} up ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface} ExecStart=/sbin/ip route add default via ${gateway} ExecStop=/sbin/ip addr flush dev ${interface} ExecStop=/sbin/ip link set dev ${interface} down [Install] WantedBy=multi-user.target
「ipコマンドが無いよ」と言われてしまったので、sys-apps/iproute2
をインストールしました。
# emerge -av sys-apps/iproute2
最後に、
# systemctl daemon-reload # systemctl enable network.service # systemctl start network.service # systemctl enable sshd.service # systemctl start sshd.service
これで無事sshログインもできるようになりました。