LoginSignup
4
5

More than 3 years have passed since last update.

Pythonのライブラリについて調べたらegg.info について少し理解した。

Posted at

概要

自作した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 できるので楽。

終わり。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5