概要
自作したpythonライブラリをコードごとシェアしてわざわざビルドのための環境を作ってもらうのが申し訳なくなり、
もっと簡単な方法がないものかと考えて調べたところ、egg.infoについての理解が少し深まった。
pythonのライブラリはpip install
などでインストールしたり、
ソースコードからpython setup.py install
したりなどするが、
https://qiita.com/chatrate/items/eb4b05cd1a6652529fd9
ここにあるように、それらはpython環境のsite-packages
に格納されていた。
場所は、上のリンクにあるように
python -c "import site; print (site.getsitepackages())"
でわかる。
この際、シナリオとしてもし自分で作ったライブラリなどがあり、
依存関係がちょっとややこしいとする。そのときソースコードを誰かに渡してビルド環境を構築してもらいライブラリを試してもらうのが申し訳ない時がある。
そのときは、ここにあるライブラリのフォルダをコピーしてそれをそのまま渡せばそのままビルドなどをすっ飛ばして使えるのだが、少し気をつけなければならないことがあった。
気をつけること
実際自作ライブラリなどをつくって、コンパイルした後、site-packagesをみると
*****-0.0.0-py3.6-linux-x86_64.egg
みたいなフォルダがある。これをコピーして他の環境のsite-packagesにいれて、
python
>>> import ****
みたいにしてもダメである。
この時は、このフォルダをコピーした後、site-packagesの中に入って、
easy_install *****-0.0.0-py3.6-linux-x86_64.egg
としなければならない。
この際、このライブラリが参照するべきsoファイルなどがある時は、それらもあらかじめコピーして
あるべき場所(/usr/local/lib/)などの場所に格納を前もってしておき、
上のコマンドを走らせる必要がある。
ただし、site-packagesの中身が、
******16.dist-info
みたいな時は、コピーするだけで import できるので楽。
終わり。