Pythonパッケージ

python-package.png

パッケージとモジュールの違い

モジュールは階層構造を持つことができます。
いくつかのモジュールをまとめたものをパッケージと呼びます。
パッケージは多くの場合階層構造を持つモジュール群から構成されます。

モジュールをインストールする

大体、何かダウンロードするとsetup.pyというファイルが一緒についてくるはずである
そこで、

python setup.py install

とする。
Macでやっていてアクセス権を拒否られたら

sudo python setup.py install

とsudoをつけましょう
これよりもおすすめなのがpipです。

sudo pip install モジュール名

なぜおすすめなのかというと、PILをインストールする時、python setupでやったらinkscapeでうまくコンパイルしてくれなかったけど、pip使ったらうまくいったからです。

現在インストールされているパッケージ一覧を表示する

import sys
print sys.builtin_module_names

私の場合はこんなかんじだった。
('_ast', '_bisect', '_codecs', '_codecs_cn', '_codecs_hk',
 '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw',
 '_collections', '_csv', '_datetime', '_functools', '_heapq', 
'_imp', '_io', '_json', '_locale', '_lsprof', '_md5', '_multibytecodec',
 '_pickle', '_random', '_sha1', '_sha256', '_sha512', '_sre', '_string'
, '_struct', '_symtable', '_thread', '_warnings', '_weakref', '_winapi',
 'array', 'atexit', 'audioop', 'binascii', 'builtins', 'cmath', 'errno', 
'faulthandler', 'gc', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt',
 'nt', 'operator', 'parser', 'signal', 'sys', 'time', 'winreg',
 'xxsubtype', 'zipimport', 'zlib')

自分で後から追加したやつなども全部表示したい場合

2通りやり方があります

sys.modules

import sys                                                                      
print sys.modules.keys()

help

help("modules")

モジュールが無い時に出てくるエラー

Traceback (most recent call last):
  File "<input>", line 1, in <module>
ImportError: No module named モジュール名

モジュールを探しにいくパス

PYTHONPATHです

後から追加したモジュールのある場所

/Library/Python/2.7/site-packages

モジュールの持ってる関数名一覧を表示する

dir(モジュール名)

wheelの場合

.whlというファイルでパッケージが配られている場合があります。
こうやってインストールします

sudo pip install "ファイル名.whl"

pipを通じて今何がインストールされているのか知るには

pip freeze


python-import

サポートサイト Wikidot.com python-import