初めに
cwlを色々と勉強する為に、まずはcwlの環境を整備…しようとしたのですが、地味に結構手間取ったので、参考としてログに残しておきます。
概要
cwltool をインストールして、実際にCWLを実行してみる
の通りに実行してcwlをインストールする
目標
雑に始める CWL!の記事をなぞる形で雑に始めるところまで行きたい
#という訳で、作業記録
##初期状態
windows10+virtualbox 6上にインストールしたUbuntu18.04LTSです。さっき構築したばかりなので、ほぼ初期状態。anaconda等も入れていません。sudo apt upgradeやapt updateはやりました。dockerも公式記載のやりかたでインストールしました。
##作業開始
せっかくなので上の記事にある通りにvenvでやってみます。
python -m venv cwltoolenv
Command 'python' not found, but can be installed with:
sudo apt install python3
sudo apt install python
sudo apt install python-minimal
You also have python3 installed, you can run 'python3' instead.
そもそも初期状態だとpythonじゃ叩けないんですね…。
python3で叩いてみます。
python3 -m venv cwltoolenv
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/home-dir/cwltoolenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
venvも入れなきゃいけない模様。
sudo apt-get install python3-venv
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
python-pip-whl python3-distutils python3-lib2to3 python3.6-venv
以下のパッケージが新たにインストールされます:
python-pip-whl python3-distutils python3-lib2to3 python3-venv python3.6-venv
(後略)
とりあえず何か入った模様。
cwltoolenv/bin/activate
bash: cwltoolenv/bin/activate: 許可がありません
sudo cwltoolenv/bin/activate
sudo: cwltoolenv/bin/activate: コマンドが見つかりません
あ、実行場所指定という意味でカレント"."とか指定しないといけないんですね…。コピペから抜けてました。
. cwltoolenv/bin/activate
(cwltoolenv) $
venv環境にはいると、こんなかんじに、(cwltoolenv) というのが、プロンプトの手前につくようになると思います。
なるほど。
activateした直後に、モジュールのリストを確認すると、
すると、こんなかんじに、ほぼからっぽだとおもいます。
pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
pip (9.0.1)
pkg-resources (0.0.0)
setuptools (39.0.1)
なるほどなるほど。
という訳で本題。
cwltoolのインストール
pip install cwltool
Collecting cwltool
Downloading https://files.pythonhosted.org/packages/e4/d3/4e827adab29ff95b0ce9b97fa69db3db13e6f89847903c380ea6a8c6745f/cwltool-1.0.20190815141648-py2.py3-none-any.whl (717kB)
100% |████████████████████████████████| 727kB 1.0MB/s
(中略)
----------------------------------------
Command "/home/home-dir/cwltoolenv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-5dtv24zz/psutil/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ibn1fkj1-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/home-dir/cwltoolenv/include/site/python3.6/psutil" failed with error code 1 in /tmp/pip-build-5dtv24zz/psutil/
何だか怪しい表示が…。
Python2.7 pip install jupyter でエラーになる
error: invalid command 'bdist_wheel'
このエラーは、
pip install wheel
でwheelをインストールすればよさそうです。
なるほど。
pip install wheel
Collecting wheel
Downloading https://files.pythonhosted.org/packages/00/83/b4a77d044e78ad1a45610eb88f745be2fd2c6d658f9798a15e384b7d57c9/wheel-0.33.6-py2.py3-none-any.whl
Installing collected packages: wheel
Successfully installed wheel-0.33.6
無事インストールできた模様。
pip install cwltool
(中略)
----------------------------------------
Command "/home/home-dir/cwltoolenv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-aq5z0v3f/psutil/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-ize975ss-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/home-dir/cwltoolenv/include/site/python3.6/psutil" failed with error code 1 in /tmp/pip-build-aq5z0v3f/psutil/
先ほどとメッセージが変化。psutilが原因?
setuptoolsのアップグレードが必要な場合もあるらしいのでやっておく。
pip install --upgrade pip setuptools
これだけではうまくいかない。だが、
pip install psutil が失敗したので対処した
によれば関連ライブラリを入れれば何とかなりそう。
とりあえずそれっぽいキーワードでぐぐってみる。
python – コマンド ‘x86_64-linux-gnu-gcc’が終了ステータス1で失敗しました
私は同じ問題を抱えていました。
これは私を助けました:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
hpython3を使用している場合は、python-devをpython3-devに置き換えてみてください。
なるほど。
python3-devに書き換えて実行してみます。
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
その上で、
pip install psutil
無事通りました。
その上で再トライ。
pip install cwltool
無事通りました…!
元記事にならってバージョンも見ておきます。
cwltool --version
cwltoolenv/bin/cwltool 1.0.20190815141648
同様にpip listも見ておきます。
pip list
Package Version
----------------- ------------------
bagit 1.7.0
CacheControl 0.11.7
certifi 2019.6.16
chardet 3.0.4
coloredlogs 10.0
cwltool 1.0.20190815141648
decorator 4.4.0
future 0.17.1
humanfriendly 4.18
idna 2.8
isodate 0.6.0
lockfile 0.12.2
lxml 4.4.1
mistune 0.8.4
mypy-extensions 0.4.1
networkx 2.3
pathlib2 2.3.4
pip 19.2.3
pkg-resources 0.0.0
prov 1.5.1
psutil 5.6.3
pyparsing 2.4.2
python-dateutil 2.8.0
rdflib 4.2.2
rdflib-jsonld 0.4.0
requests 2.22.0
ruamel.yaml 0.15.97
scandir 1.10.0
schema-salad 4.5.20190815125611
setuptools 41.2.0
shellescape 3.4.1
six 1.12.0
typing-extensions 3.7.4
urllib3 1.25.3
wheel 0.33.6
これで元参考記事にある、cwltool --validate等の実行テスト関連コマンドも通ることを確認しました。
これでやっと雑に始められます…!