背景
- pipだとビルド周りで失敗したのでanacondaを使用
- コンフリクトを避けるためpipは使わずcondaだけでパッケージ管理
- polyglotをインストールしたい
- pip使うインストール方法しかヒットしなかったので書いた
実行環境
- CentOS 6.7
- (pyenv)anaconda3-5.3.1
- conda createで仮想環境を作ってその中でインストール
インストール作業
polyglotが使うライブラリをインストール
$ conda install numpy -y
$ conda install -c conda-forge icu -y
$ conda install -c conda-forge pyicu -y
pyicuはpython3.6をピンポイントで要求する
ここからはPyPIのパッケージからcondaパッケージを作ってインストールする
$ conda skeleton pypi morfessor
$ conda build morfessor
$ conda install --use-local morfessor -y
$ conda skeleton pypi --python-version 3.6 pycld2
pyicuがpython3.6を要求するので明示的にpython3.6でビルドしておく
$ conda build --python 3.6 pycld2
なんかすごい警告出るけど動く
$ conda install --use-local pycld2
最後にpolyglotを入れる
$ conda skeleton pypi --python-version 3.6 polyglot
これは失敗するので自分でレシピファイルを作る
$ mkdir polyglot
$ vim polyglot/meta.yaml
polyglotのレシピファイル
- polyglot/meta.yaml を以下のように編集する
{% set name = "polyglot" %}
{% set version = "16.7.4" %}
package:
name: "{{ name|lower }}"
version: "{{ version }}"
source:
url: https://files.pythonhosted.org/packages/e7/98/e24e2489114c5112b083714277204d92d372f5bbe00d5507acf40370edb9/polyglot-16.7.4.tar.gz
sha256: f7d9cca9a212622548e9416fb89f1238b994b8860ef49e03b7c82c67f9b6269b
build:
number: 0
script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed -vvv "
requirements:
host:
- pip
- python
run:
- python
- six
test:
imports:
- polyglot
- source.url にはPyPIのtar.gzファイルのパスを記述
- source.sha256 にはtar.gzファイルのSHA256チェックサムを記述
レシピファイルが完成したらビルドしてインストール
$ conda build --python 3.6 polyglot
ビルドできたら掃除する
$ conda build purge
インストールする
$ conda install --use-local polyglot