2019/06/08
Windows に python-lzo をインストール
@Windows 10 Pro 64bit
[LZO](http://www.oberhumer.com/opensource/lzo/) というアーカイブ系ライブラリを Python でラップしてくれるパッケージに
[python-lzo](https://pypi.org/project/python-lzo/) があります。
Linux では pip で一発インストール可能なのですが、Windows ではエラーが出てしまいインストールできません。
```shell
`gutter: false;
> pip install python-lzo
Collecting python-lzo
Using cached https://files.pythonhosted.org/packages/af/60/41f17f56c920a956f1d4b9f04f9755c045b2b06b9dd933b33cdd37ab9fd7/python-lzo-1.12.tar.gz
ERROR: Complete output from command python setup.py egg_info:
ERROR: Traceback (most recent call last):
File "", line 1, in
File "C:\Users\yusuk\AppData\Local\Temp\pip-install-jzhjob69\python-lzo\setup.py", line 46, in
raise Exception("please set LZO_DIR to where the lzo source lives")
Exception: please set LZO_DIR to where the lzo source lives
```
公式の Issue によると、これは仕様で、自身でコンパイルしないといけないようです。
> 参考
>
> [unable to install python-lzo using "pip install python-lzo" on Windows · Issue #5 · jd-boyd/python-lzo · GitHub](https://github.com/jd-boyd/python-lzo/issues/5)
というわけで、やってみました。
### ソースコードをダウンロード
[Download](http://www.oberhumer.com/opensource/lzo/#download) よりソースコードをダウンロードします。
今回は lzo-2.10.tar.gz をダウンロードしてきました。
### 展開
先のファイルを展開します。
なお、以後のコマンドライン操作は "x64_x86 Cross Tools Command Prompt for VS 2019" 上で行っています, , 。
ダウンロードしたフォルダに移動して、展開します。
```shell
`gutter: false;
> cd %HOMEPATH%\Downloads
> tar xzf lzo-2.10.tar.gz
```
現在では Windows で `tar` が使えるので、これを使わない手はないと思いますが、もちろん [7-Zip](https://sevenzip.osdn.jp/) 等その他のツールを使っても大丈夫なはずです。
> 参考
>
> [Windows その14 - Windows上でcurlとtarコマンドが利用可能に - kledgeb](https://kledgeb.blogspot.com/2017/12/windows-14-windowscurltar.html)
### ビルド
Linux 以外のビルド方法は "B\00README.TXT" に書かれています。
基本的には対象のバッチファイルを実行すればよいだけです。
```shell
`gutter: false;
> cd lzo-2.10
> .\B\win32\vc.bat
...
//
// Building LZO was successful. All done.
```
### pip install
環境変数 `LZO_DIR` に先ほどビルドを実行したフォルダを指定します。
あとは、仮想環境なりユーザー環境なりに `pip install` で完了です。
```shell
> LZO_DIR=%CD%
> pip install python-lzo
Collecting python-lzo
Using cached https://files.pythonhosted.org/packages/af/60/41f17f56c920a956f1d4b9f04f9755c045b2b06b9dd933b33cdd37ab9fd7/python-lzo-1.12.tar.gz
Installing collected packages: python-lzo
Running setup.py install for python-lzo ... done
Successfully installed python-lzo-1.12
```
### 64bit 系の人は注意
"python-lzo-1.12" は 32bit 系のバイナリを想定しているようです。
64bit の Native コンパイラでコンパイルすると、うまくいかないので注意が必要です。



0 件のコメント:
コメントを投稿