Python で “error: Unable to find vcvarsall.bat” が出た場合。

どうもみむらです。

今回は Windows で Python 使ってて、
setup.py install とかしたときに、 “error: Unable to find vcvarsall.bat” とか出た場合について。

下記のウェブサイトにて記述を見つけたのですが、一応自分向けのメモとして書き直し。
街角のリブロガー pythonでvcvarsall.batエラーが出る。



1.使っている Python のビルドされた環境を確かめる。

起動直後に現れる “MSC v.1500” というような表記からバージョンを判定しても良いのですが、
( Visual Studio を使っている人なら分かるかも・・? )

次のコードを実行して判定します。

from distutils.msvccompiler import *
get_build_version()

出力結果に “9.0” や “10.0” と出るかと思います。

 

2.レジストリに値を書き込む

値を次の場所に書き込みます:

キー名: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\(Python の MSVC のバージョン)\Setup\VC

値名:ProductDir

値:(現在使っている Visual Studio の VC フォルダへのパス)

 

例として、私の環境で使っている Python 2.7 が MSVC 9.0 環境でビルドされており、

一方で私自身は Visual Studio 2013 を使っています。

この場合値は次のようになります:

キー名: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC

値名:ProductDir

値:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC

image

 

また、1で 10.0 と出た場合は、

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Setup\VC に。

その他 x86 (32bit) 環境の場合は、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC になって、

パスも C:\Program Files\Microsoft Visual Studio 12.0\VC

等になるかと思います。

・・取り急ぎ、メモ。

CentOS 6.5 に Snorby と Suricata をインストール

どうもみむらです。

IDS というと Snort というイメージも多いかと思いますが、
ふと Google なページをさまよっていたら Suricata というものを見つけましたので、
これを入れてみようかと。

環境としては CentOS 6.5 で Hyper-V 環境。
Windows Server 2012 (Windows 8) 以降の Hyper-V であればポートミラーリングが使えますので
その辺を使いつつ。

今回の環境では eth0 をミラーポートからのデータ受け付け用に
eth1 を管理用に構築してみます。

参考にしたところ:

http://n40lab.wordpress.com/2013/06/02/snorby-in-centos-6-4/
http://n40lab.wordpress.com/2013/05/31/installing-suricata-ids-from-source-centos-6-3/
https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Suricata_Snorby_and_Barnyard2_set_up_guide
https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Basic_Setup

 

Snorby が稼働するとこんな感じの画面が出ます:

image

 

かなりの長文なので「続きを読む」を使っていったん切ります・・

続きを読む

fpm を使って任意のプログラムを rpm にまとめてみる。

みむらです。
作業中に見つけたことで、たぶん今後も使いそうな気がするのでメモ。

SPEC ファイルがあれば rpmbuild で一発なのですが、
そんなうれしいことはあまりないので、どうしようかと。

fpm コマンドを使うと良い感じに rpm にまとめてくれるので、
これを使ってみましょう、というそんな話。


1.fpm の準備

yum install gcc ruby ruby-devel ruby-libs rubygems rpm-build
gem install fpm

rubygem で提供されているのでそれ経由で入れる。


2.普通にコンパイル

今回は ruby で試しました。

configure の時は、

prefix を “/usr” に向けておくと良い感じです。

(別に /usr/local/ でも大丈夫だとは思いますが、気分的に。)

あとは make に “-j” を付けて CPU を良い感じに唸らせて。

(他にこのプログラムで使うパッケージがあれば入れておく。)

 

wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
tar zxvf ruby-2.1.2.tar.gz
cd ruby-2.1.2
./configure --prefix=/usr
make -j8

3. rpm を作る

make が完了したら、

出力用のフォルダを作ってそこに出力します。

私の場合はホームディレクトリ以下に ruby というディレクトリを作成しました。

mkdir ~/ruby

でもって、コンパイル結果をそのディレクトリに向けて出力します。

make install DESTDIR=~/ruby

インストールが完了すると、指定したディレクトリ内にファイルが作られます。

[mimura1133@localhost ruby]# find ~/ruby
/home/mimura1133/ruby
/home/mimura1133/ruby/usr
/home/mimura1133/ruby/usr/lib
/home/mimura1133/ruby/usr/lib/pkgconfig
/home/mimura1133/ruby/usr/lib/pkgconfig/ruby-2.1.pc
/home/mimura1133/ruby/usr/lib/libruby-static.a
/home/mimura1133/ruby/usr/lib/ruby
/home/mimura1133/ruby/usr/lib/ruby/site_ruby
/home/mimura1133/ruby/usr/lib/ruby/site_ruby/2.1.0
/home/mimura1133/ruby/usr/lib/ruby/site_ruby/2.1.0/x86_64-linux
/home/mimura1133/ruby/usr/lib/ruby/vendor_ruby
/home/mimura1133/ruby/usr/lib/ruby/vendor_ruby/2.1.0
/home/mimura1133/ruby/usr/lib/ruby/vendor_ruby/2.1.0/x86_64-linux

 

次にホームディレクトリに移動して、 fpm コマンドを使って rpm パッケージを作ります。

 

なお、 fpm コマンドについてのヘルプは下記URL にあります。

 https://github.com/jordansissel/fpm/wiki

・・deb パッケージを作ったり、deb から rpm にしたりとかも出来るっぽいですね。

 

何も気にせずさくっと作るのであれば、

fpm -s dir -t rpm -n (名前) -v (バージョン) -C (出力したディレクトリ) -p (RPMファイル名) usr/

というような、こんな感じ。

 

なので先ほどまでやっていた ruby の場合は、

fpm -s dir -t rpm -n ruby -v 2.1.2 -C /root/ruby -p ruby-2.1.2.rpm usr/

こんな感じ。

 

凝る場合は “-d” で依存関係を指定できるので

-d “openssl-devel (> 1.0.1)”

とか。こういう感じで。

 


4.出来た RPM をインストールする。

あとは、

rpm -ivh ruby-2.1.2.rpm

とか叩いてインストール。

削除の場合は

rpm -e ruby-2.1.2

としてもいいし、

yum remove ruby

とかやっても消えます。

Windows で easy_install と pip を使えるようにする

みむらです。ちょっとメモ。

 


1.事前に PATH に C:\Python27 と C:\Python27\Scripts を通しておく

私の環境だと、Python 2 系と Python 3系が入っていますが、
どっちかに通しておけば、 “py” で 2系、 “py –3” で 3系 を起動できるので良い感じ。

“python” を実行したときに 2 を使う人か 3 を使う人かでどっちかに通しておけば良いかなと。

・・私は 2 系の方をまだ使うので 2.7 に通しました。 

 

ちなみに PATH を通すには:

1.「システムとセキュリティ」を選択
image

 

2.「システム」を選択

image

 

3.「システムの詳細設定」を選択

image

 

4.「詳細設定」タブ内の「環境変数」を選択

image

 

5.Path を追記する

“PATH” という項目が無い場合は、「新規」をクリック

image

 

”PATH” という項目がある場合は、その項目をダブルクリック

image

 

でもって、こんな感じで設定する。

image

すでに項目がある場合は、そのパスの後ろに “;” 書いてパスを追記する。

複数の場所に PATH を設定したい場合は、”;” で区切って書いていく。

 


2.easy_install をインストールする。

https://bootstrap.pypa.io/ez_setup.py

ここから ez_setup.py をダウンロードしてきて、ダブルクリックで実行
勝手にファイルをダウンロードしてインストールしてくれる。

・・もし、ダブルクリックしても動かない場合は
コマンドプロンプトを開いて、

python ez_setup.py

と打ち込むと動きます。

 

また、コマンドプロンプトを開いてそこまで移動するのが面倒・・という場合は、

Shift キーを押しながら右クリックをしますと、下図のような項目が出ますので、

わざわざ移動せずともコマンドプロンプトを指定したフォルダをカレントディレクトリとして起動することが出来ます。

image

image

 


3.pip をインストール

コマンドプロンプトを開いて、

easy_install pip

を実行すると導入されます。


後は PATH を通してありますので、

image

こんな感じで、いきなり “pip” と入力しても動くようになります。

 

・・ひとまず、参考まで。

VAIO Pro 13 を Windows 8.1 Pro でクリーンインストールしてみた

どうもみむらです。

なんだかんだ、愛用の VAIO Z さんが不慮の事故に巻き込まれてしまいまして、
お財布から何とか諭吉さんを出して VAIO Pro さんを購入しました。

・・・トラブル発生時用に一定額持っていたのと、
カメラを買おうかなと思って少し貯めていた分がこれで見事にすっ飛びました。
・・・うーん。

さてさて。

VAIO のみならず、メーカー製の PC というのはなぜかいろいろなソフトが付いてくるもんで。
もちろん、それを使う人には良いのですが私の場合は削除したいもんで、
加えてリカバリ後にアンインストールしてもレジストリやどこかのフォルダに残るってんで
出来ることならインストールから阻止したいもの。

・・ってことで、がんばってみました。

882378_741957522523517_353995434965807100_o

結果としてはこのような感じで、
良い感じに最低限のものだけインストールすることに成功しました。

何となくインストーラーの雰囲気から、
VAIO Z や その他の 2010 年以降ぐらいの VAIO であればこの手法が適用できそうな雰囲気ですが
環境が無いので試していません・・。

 

・・とりあえず自分のメモを兼ねて、やり方を。

また、試す場合は事前にリカバリディスクを作成しておいてください。

・・開始した後で戻そうと思って、リカバリメディアが無い場合でも対応できません。。

 

注:
ここで紹介する手順によって発生した損害や問題等に関しては一切責任を負いません。
また、本記事について Sony 側から指示を受けた場合については即刻削除するものとします。

本記事はリスクを負うことが出来、また高度な操作が行える人を対象としています。
また VAIO 関連ファイルについては要求があっても、お渡しすることは出来ません。
ご了承ください。

 

続きを読む