sonoshouのまじめなブログ

情報系大学生からのウェブ見習い人生の記録

ecliseとgitの連携2 ~さくらVPS~

\------筆者の環境------\
・さくらVPS1GBプラン
・Cent OS
・eclipse 4.3
\----------------------\

以上の環境で
さくらVPSにあるgitのリポジトリからクローンを行い、 eclipseで管理できるようにするまで。
私は日本語化したeclipseを使用していますので、
英語版の方は適宜読み直してください。

Eclipse4.3のインストールと日本語化

こちらのサイトがめちゃくちゃ詳しいです。
Eclipse 4.3 のダウンロード,インストール,設定,日本語化,基本操作
上のホームページを見て、インストールを行いましょう。

Eclipseのgitについて

eclipse4.3からgitがすでにインストールされるようになっております。
eclipse4.2以前の方は、EGitというプラグインをインストールしましょう。
過去の私のブログをご参照ください。
Eclipseとgitの連携|sonoshouのまじめなブログ

gitリポジトリーのクローン

eclipseでの作業になります。

  1. ウィンドウ - パースペクティブを開く - その他
  2. Gitリポジトリーエクスプローラ
  3. 「Clone a Git Repository」もしくは「アイコン(Gitリポジトリーを複製し、このビューに追加」(図1)
  4. URI」もしくは「ホスト」「リポジトリー・パス」、「プロトコル」「ポート」を環境に合わせて入力。(図2)
  5. 「次へ」と「完了」で終了。

f:id:sonoshou:20140122012811p:plain

図1

f:id:sonoshou:20140122012820p:plain

図2

ただし、図2内における「git.sonoshou.jp」の部分は、
~/.ssh/config 内で定義しています。

パッケージ・エクスプローラーで管理

  1. ウィンドウ - パースペクティブを開く - その他
  2. Java (デフォルト)
  3. パッケージ・エクスプローラーのタブ内で右クリック
  4. インポート
  5. Gitからプロジェクト
  6. Existing local repository
  7. 先ほどcloneしたリポジトリーを選択して「次へ」
  8. 一般的なプロジェクトとしてインポートにチェックして、作業ディレクトリを選択。(図3)
  9. 「完了」

f:id:sonoshou:20140122013103p:plain

図3

ユーザ設定

gitはコミットする際に、ユーザ名とメールアドレスを求められます。
設定がなくてもコミットできるのですが、あまり行儀よろしくないので、設定しましょう。

  1. ウィンドウ - 設定
  2. 左のタブから、 チーム - Git - 構成
  3. ユーザ設定タブで「エントリーの追加」
  4. キー:user.name、値:任意の名前 を入力し、「OK」
  5. 同様に、キー:user.email、値:任意のアドレス を入力し、「OK」

このように設定できていればOK。

f:id:sonoshou:20140122013133p:plain

eclipseを使ったgitの操作方法

過去の私のブログをご参照ください。
Eclipseとgitの連携|sonoshouのまじめなブログ

ただ、あまり詳しくなく約1年ほど前の記事ですので、
操作方法に関しては他のホームページに譲ろうかと思います。

それでは、良いeclipse&gitライフを。

Eclipseのテーマ

Dark Blackでおしゃれに決める!

パソコンの画面を長く見れば見るほど目が疲れてくる。
いわずもがなですが、仕方ないことではありますよね。
かくいう私も1日10時間ぐらいは平気でディスプレイを見続けているのですが、
流石に目への負担がひどくなってきました。
そこで現在主力で使っているIDEのEclipseのテーマを変更して、
少しでも目への負担を減らそうと思いました。

以下が本エントリー設定完了の参考の画像です。

f:id:sonoshou:20121203170028p:plain

テーマ変更の仕方

下のホームページを参考にしました。
http://d.hatena.ne.jp/cypher256/20120926/p1

1. カラーテーマをインストールする

  1. Eclipseを起動する。

  2. ヘルプ - 新規ソフトウェアのインストール

  3. 「追加」

  4. 名前に「color theme」、アドレスに
    http://eclipse-color-theme.github.com/update」を入力

  5. 「全て選択」

  6. 「次へ」

あとは流れで。
詳しくは http://eclipsecolorthemes.org/ をご参照下さい。

2. Dark Junoをダウンロードする

  1. 作者のホームページから「Eclipse-Juno-Dark.zip」をダウンロードする。
    https://github.com/Prototik/Eclipse-Juno-Dark/downloads

  2. 解凍する。

  3. 解凍して出てきたpluginフォルダの中の「Eclipse_Juno_Dark.jar」ファイルを
    eclipseが展開されているフォルダの「plugin」フォルダ内にコピー。

3. Eclipseからテーマを設定する。

  1. Eclipseを起動する。

  2. ウィンドウ - 設定
    (Macの場合 Eclipse - 環境設定)

  3. 一般 - 外観 - 色テーマ

  4. 「Pastel」を選択 (ここはお好みで。)

  5. 一般 - 外観

  6. テーマから「Eclipse Juno Dark」を選択

以上です。

これであなたも目に優しい環境で思い切ったプレーができるでしょう。

Eclipseでgitを使う(ブランチ編)

前回はEclipseでgitを使う導入まで説明したので、 今回はブランチの使い方について説明します。
といっても、全く難しいことはありません。
この記事は本当に必要なのだろうか。

Eclipseでのブランチ操作

<新規ブランチの作成>

  1. プロジェクトを右クリック
  2. チーム - 切り替え - 新規ブランチ
  3. ブランチ名を入力後、「完了」

このとき、新規ブランチのチェックアウトをチェックすると、
新規ブランチが作成された後、新規ブランチへ自動的に切り替わります。

<ブランチのチェックアウト(切り替え)>

  1. プロジェクトを右クリック
  2. チーム - 切り替え - 「切り替えたいブランチを選択」

この操作で、ブランチを切り替えることができます。

<ブランチのマージ>

  1. プロジェクトを右クリック
  2. チーム - マージ
  3. マージしたいブランチを選択後、「マージ」

<ブランチのリベース>

  1. プロジェクトを右クリック
  2. チーム - リベース
  3. リベースしたいブランチを選択後、「リベース」

以上です。
さすがeclipseさん!簡単ですね!僕にもできそう!!

これで
「大規模の変更の時はバックアップのコピーを取っておかないと……。」
「あとで見るかもしれないからコメントアウトで残しておこう……。」
といったことを積極的に行う必要はありませんね。

gitの考え方についてはこちらが詳しいです。
サルでもわかるgit入門

Eclipse と git の連携 ~さくらVPS~

ecliseとgitの連携2 ~さくらVPS~ - sonoshouのまじめなブログ
新しく書きました。(2014年1月22日更新)
既にリモート上にgitリポジトリが既に存在する場合は、
こちらをご参照ください。

リモート上にgitリポジトリが存在しない場合は、
以下の記事が参考になるかと思います。


いつでもプログラム書きたいですよね。
サーバーにgitを構築しましょう。
ついでにeclipseと連携させましょう。

今回はおすすめのリンク集となりそうです。
私が構築するにあたって、いくつか詰まった点があります。
そこを重点的に説明していくつもりです。

\------筆者の環境------\
・さくらVPS1GBプラン
・Cent OS
eclipse 4.2
\----------------------\

この記事は下記リンクを参考にしています。
さくらインターネットをgitの共用リポジトリにする方法 - Dive into the Tech World!

サーバーにgitを構築

私は以下のサイトを見て、gitをインストールしました。
さくらのVPSを改めて使いはじめる 10 -Git、Gitolite、GitHub - アカベコマイリ

アカベコマイリさんのサイトには、毎度本当にお世話になっております。

EclipseにEGitを導入

EGitはGitをEcliseで扱うためのプラグインです。
インストールにあたって、特に難しい点はありません。

  1. Eclipseを起動
  2. ヘルプ - 新規ソフトウェアのインストール
  3. 「追加」
  4. 名前に「Juno」、ロケーションに「http://download.eclipse.org/releases/juno」を入力
  5. 「コラボレーション」から「Eclipse EGit」をチェック
  6. 「次へ」

あとは流れで。

EclipseSSH設定

  1. Eclipseを起動
  2. ウィンドウ - 設定
  3. 一般 - ネットワーク接続 - SSH2

ここで、SSH鍵の設定を行う。
(Macの場合、Eclipse - 環境設定)

gitのプロジェクトを作成

Eclipseで開発しているプロジェクトをGitで管理するやり方です。

サーバー上にgitリポジトリを作成

サーバーにログインし、gitのrepositoriesフォルダ内(プロジェクトを作成する場所)で
「git init --bare --shared=true」を実行。

[git@localhost repositories]$ mkdir TestProject.git
[git@localhost repositories]$ cd TestProject.git/
[git@localhost TestProject.git]$ git init --bare --shared=true

以上です。

gitレポジトリの作成は、git専用に作ったユーザーで行って下さい。
他のアカウントでログインしてgitレポジトリを作成してしまうと、
フォルダとファイルの所有者が他のアカウントとなってしまいます。
他のアカウントで行った場合、クライアントとサーバーで同期を行う際、私の環境では、
error: insufficient permission for adding an object to repository database .git/objects」
というエラーが出てしまいました。

解決するためには、
chownコマンドで所有者を変更して下さい。
例:[chown -R owner:group filename]
参考:error: insufficient permission for adding an object to repository database .git/objects - 604 Error Code Not Found

gitアクセス権限の編集

  1. サーバー上で「/home/user-name/.gitolite/conf/gitolite.conf-compiled.pm」を開く。
  2. 以下のように編集して保存。
%repos = (
  'project-name' => {
    'user-name' => [
      [
        1,
        'refs/.*',
        'RW+'
      ]
    ],
    'R' => {
      'user-name' => 1
    },
    'W' => {
      'user-name' => 1
    }
  }
);

これをやらないと、私の環境では、
R access for TestProject DENIED to ユーザ名
というエラーが出ました。

'user-name'とは、
「/home/user-name/.gitolite/keydir」内のパブリックキーのファイル名でした。
(理解が追いついていないのですが、私の場合はそのようでした。)


ローカルgitリポジトリの作成

  1. Eclipseのプロジェクト・エクスプローラーから関連付けるEclipseプロジェクトを右クリック
  2. チーム - プロジェクトの共用
  3. Gitを選択して、「次へ」
  4. リポジトリーの「作成」を押す。
  5. 名前にプロジェクト名を入力し、「完了」
  6. 「完了」

ローカルgitリポジトリとサーバーのgitリポジトリとの関連付け

ここでは、「msysGit」および「Git for Windows」を使います。

  1. 「msysGit」および「Git for Windows」でローカルgitリポジトリ(~/git/)に移動。
  2. 「git remote add 」で関連付け。

参考までに以下が私の場合です。

hoge@HOGE ~
$ cd ~/git/TestProject/

hoge@HOGE ~/git/TestProject (master)
$ git remote add origin git.sonoshou.jp:TestProject

EGitの操作

<コミット>

  1. プロジェクトを右クリック
  2. チーム - コミット
  3. コミット・メッセージを入力し、(基本的に)ファイル全てにチェック
  4. 「コミット」

<プル>

  1. プロジェクトを右クリック
  2. チーム - プル

<初回のプッシュ>

  1. プロジェクトを右クリック
  2. チーム - リモート - プッシュ
  3. ホストに「ホストネーム」、リポジトリー・パスに「リポジトリー・パス」を入力して、「次へ」
  4. ソース参照(master)と宛先参照(master)を選択して、「Add Spec」
  5. 「完了」

<クローン(リモートとの関連付け)>

  1. ファイル - インポート
  2. Git - Gitからプロジェクト
  3. ホストに「ホストネーム」、リポジトリー・パスに「リポジトリー・パス」を入力して、「次へ」
  4. masterが選択されていることを確認し、「次へ」
  5. ローカル保管場所を確認して、「次へ」
  6. 一般的なプロジェクトのインポートで、「次へ」
  7. 「完了」

「ホストネーム」と「リポジトリー・パス」の設定がうまく伝えられなかったので、
画像を添付しておきます。

※ただし、私の場合です。
 ホストは「user-name/.ssh/config」内でホストを設定しています。

注意点

eclipseの設定によっては、
pull時に、
「現在のブランチはプル用に構成されていません 構成にキー branch.master.merge の値がありません」
と表示される場合があります。

この場合は、Eclipseから、

  1. ウィンドウ - 設定
  2. チーム - Git
  3. 「ユーザー設定」タブから「エントリーの追加」
  4. キーに「branch.master.merge」、値に「refs/heads/master」と入力し、「OK」

これで、eclipseからもpullできるようになります。

eclipse vim風

vimmerあなたへ
eclipsevim風のキーバインドに変更するプラグインの紹介です。

英語版をお使いの方は、適宜読み替えて下さい。

1.Eclipseを起動する。
2.ヘルプ → 新規ソフトウェアのインストール
3.「追加」を押す。
4.名前:Vrapper ロケーション:http://vrapper.sourceforge.net/update-site/stable/ を入力
5.「すべて選択」を押す。
6.「次へ」

あとは流れでいけるはずです。

使い方等は下記のサイトが詳しいので、合わせてご参照下さい。


Eclipseキーバインドvim風にできるVrapperが素晴らしすぎる件について -ゆるよろ日記-
http://yuroyoro.hatenablog.com/entry/20100218/1266477264

python 機械学習 環境構築まとめ

pythonを使った機械学習の環境構築まとめです。

  • python   (プログラミング言語
  • pydev    (eclipsepython環境構築プラグイン
  • numpy   (数学関数ライブラリ)
  • scipy    (数値解析ライブラリ)
  • matplotlib (グラフ描画ライブラリ)
  • cvxopt   (最適化計算ライブラリ)

の導入を順に説明していきます。

過去に同系統の記事を書いています。
基本的にはこの記事のみで完結致しますが、
箇所によっては過去記事の方が詳しい場合があります。
わからなくなった場合は過去記事も参照してみて下さい。


<過去記事>
Python インストール
Pydev インストール
matplotlibを使ってグラフを簡単表示 (含Numpy導入)

pythonの導入

Python Japan User's Group
http://www.python.jp

ここからPythonをダウンロードしてインストールすれば完了です。
自分の環境に合ったインストーラをダウンロードしましょう。
特に、64bit PC用と32bit PC用が分かれているので注意して下さい。

インストール方法

1.任意のディレクトリにダウンロード
2.ダウンロードしたファイルを実行。
3.Next> を押していき、インストール完了。

今後のために、PATHを通しておきましょう。
デフォルトでは、
「C:\python27」に「python.exe」がありますので、
「C:\python27」のPATHを通してください。

環境変数設定の詳しい説明は省略致します。外部サイトを参照してください。)


pydevの導入

Pydevとは、統合開発環境Eclipsepythonを動作させるためのプラグインです。
こちらの導入は任意ですが、開発効率やデバッグ効率が向上するため、
Eclipse上のpydevを使った開発を推奨しておきます。


私は日本語化を行ったeclipseを使っていますので、英語版の方は適宜読み直してください。

PyDevのインストール方法

1.Eclipseを起動する。
2.ヘルプ → 新規ソフトウェアのインストール
3.「追加」を押す。
4.名前:PyDev ロケーション:http://pydev.org/updates を入力
5.PyDevにチェックを入れる。
6.「次へ」

以降は流れでソフトウェアをインストールできるでしょう。

インストール後、eclipseの再起動を促されるのでeclipseの再起動を行いましょう。

PyDevの設定方法

1.ウィンドウ → 設定
2.PyDev → インタープリター-Python
3.Python インタープリター画面内右上、「新規」
4.インタープリター名:Python2.7 (任意の名前)
インタープリター実行可能ファイル:C:\Python27\python.exe (PythonがインストールされているPath)
5.「OK」

以上で完了です。

PyDev プロジェクト 作成

1.ファイル → 新規 → プロジェクト
2.PyDev → Pydev Project 「次へ」
3.プロジェクト名:Test (任意の名前)
インタプリター:Python2.7 ※上で指定したインタープリター名。
4.「完了」


あとは通常のプロジェクトと変わりません。
左に作成したプロジェクトが現れるので、srcを右クリックして、新規からPyDev モジュールの作成。
プログラムを入力後、実行からプログラムを実行すれば動きます。
念のためサンプルプログラムを掲載しておきますので、実行確認に使用して下さい。

サンプルプログラム

print "Hello World!!"

numpy + scipy + matplotlib + cvxoptの導入

各公式ホームページより、自分の環境に合ったインストーラをダウンロードし、
インストールをすれば環境構築終了です。

ここでは、公式ではないのですが、
有志がまとめた各ライブラリのインストーラ一覧サイトを紹介します。
つきましては、以下のサイトでダウンロードしたインストーラの使用で
何か問題があった場合は自己責任となることを
予めご了承ください。

Python Extension Packages for Windows - Christoph Gohlke
http://www.lfd.uci.edu/~gohlke/pythonlibs/

インストール方法

各ライブラリ、

  1. インストーラを任意のディレクトリにダウンロード。
  2. 実行する。

以上で簡単にインストールを行えます。


noseについて

noseというプラグインがないために、
以下のようなエラーが出る場合があります。

noseのインストール

Need nose >= 0.10.0 for tests
No module named nose

などというエラーが出たらnoseをダウンロードしましょう。

Installation and quick start nose 1.1.3 documentation
http://readthedocs.org/docs/nose/en/latest/

ページ右のDownload Current version: 1.1.3からダウンロードページへ飛べます。

私の環境(windows)の場合は、

  1. ファイルをダウンロードする
  2. 適当な場所に展開する
  3. 解凍したフォルダ内で、コマンドライン python setup.py install

でインストールできました。

サンプルプログラムの紹介

インストール後は、各ライブラリが正常に導入されたかどうかを確認しましょう。

numpyのサンプルプログラム

行列の加算を行うサンプルプログラムです。

from numpy import *

# 配列の作成
a = array([1,2,3])
b = array([10,11,12])


# 配列の加算 結果:array([11,13,15])
a + b 

出展:ぐうたらの部屋 数学・物理部

scipyのサンプルプログラム

連立1次方程式を解くサンプルプログラムです。
from scipy import *
from scipy.linalg import solve
a = matrix([[1,2],[1,-1]])
b = matrix([[1],[4]])
solve(a,b)

出展:SciPy を使ってみる

matplotlibのサンプルプログラム

グラフを描画するサンプルプログラムです。
# -*- coding: utf-8 -*-

from pylab import *
# -10 から 10 まで 0.1 刻みの配列をつくる (numpy.arange )
x  = arange(-10.0, 10.0, 0.1)
# 関数 numpy.sin : x の各要素に Math.sin を適用して配列オブジェクトを生成
y = sin(x)
# x,y を描画
plot(x,y)
# 描画
show()

出典:Matplotlib サンプル集

cvxoptのサンプルプログラム

最適化問題を解くサンプルプログラムです。
from cvxopt import matrix, solvers
A = matrix([ [-1.0, -1.0, 0.0, 1.0], [1.0, -1.0, -1.0, -2.0] ])
b = matrix([ 1.0, -2.0, 0.0, 4.0 ])
c = matrix([ 2.0, 1.0 ])
sol=solvers.lp(c,A,b)

print(sol['x'])

出展:Solving a linear program

matplotlib を使ってグラフを簡単表示

機械学習の勉強をしていく中でグラフを描画して、
機械学習の過程と結果を見たいことが増えてきました。

というわけで、
Pythonを使って簡単にグラフ描画できるライブラリと高水準の数学関数ライブラリを導入してみたいと思います。

Matplotlib (簡単にグラフ描画できるライブラリ)
Wikipedia:Matplotlib

Numpy (数学関数ライブラリ)
Wikipedia:Numpy


前提:
・筆者の環境はWindows (MacやLinuxでも導入可能)
pythonが動く環境

Numpyに関するサンプルコードやインストール方法は
機械学習 はじめよう 第6回 Numpyの導入
を参考にしています。
また、リンク先のサイトでもインストール方法が解説されています。
特にMacの方はリンク先サイトの方がわかりやすいと思いますので、合わせてご覧下さい。


Matplotlibの導入

http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.0/
からダウンロード。
ご自身の環境に合うものをダウンロードしてください。
例)私はpython2.5 + windows + 64bitだったので、
  matplotlib-1.1.0.win-amd64-py2.5.exe をダウンロードしました。

注意)32bitと64bitでダウンロードすべきファイルが違うので注意して下さい。
   僕はこの罠にハマりましたので。

Numerical Pythonの導入

ダウンロード

http://sourceforge.net/projects/numpy/files/NumPy/1.6.1/numpy-1.6.1-win32-superpack-python2.5.exe/download
からダウンロード。
ご自身の環境に合うものをダウンロードして下さい。
例)私はpython2.5 + windows + 64bitだったので・・・・・・、
  未対応でした・・・・・・。

NumPyはwindowsの64bit版には公式で対応していないようです。
有志が64bit版に再度コンパイルし直したものがあるので、そちらを使いましょう。
ただし、自己責任になりますので、注意して下さい。
http://www.lfd.uci.edu/~gohlke/pythonlibs/

python上でnumpyのテスト

コマンドラインなどで、

import numpy
numpy.test()

とテストを走らせ、正常に表示されれば成功。
(正常な表示は先の参考サイトを参照して下さい。)

noseのインストール

上のテストが動かず、

Need nose >= 0.10.0 for tests

というエラーが出たらnoseをダウンロードしよう。
http://readthedocs.org/docs/nose/en/latest/

私の環境(windows)の場合は、

  1. ファイルをダウンロードする
  2. 適当な場所に展開する
  3. 解凍したフォルダ内で、python setup.py install

でインストールできました。

再度

import numpy
numpy.test()

とテストを走らせ、正常に表示されれば成功。
(正常な表示は先の参考サイトを参照して下さい。)

PyDevでサンプル

コマンドライン上での開発は大変ですよね。
というわけで、EclipseのPyDevで走らせてみましょう。
特別な操作は要りません。
適当にプロジェクトを作り、以下のソースコードを書いてください。

import numpy as np
np.version.version
np.lookfor('array')

実行してみましょう。
arrayの機能が列挙されたら成功です。


Matplotlib


いよいよMatplotlibのサンプルに移ります。
サンプルコードをコピペして動かしてみましょう。

こちらもインストールが正常に完了していれば、
Eclipse上のPyDevでサンプルコードを動かすことができます。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from pylab import *
# -10 から 10 まで 0.1 刻みの配列をつくる (numpy.arange )
x  = arange(-10.0, 10.0, 0.1)
# 関数 numpy.sin : x の各要素に Math.sin を適用して配列オブジェクトを生成
y = sin(x)
# x,y を描画
plot(x,y)
# 描画
show()

出典:Matplotlib サンプル集

サインカーブが表示されれば成功です。