Fork me on GitHub

Ubuntu Pythonパッケージのロード

  • Feb 25, 2010

categoryプラグインは存在しません。categoryプラグインは存在しません。

概要

UbuntuのPythonでの、モジュールのローディングに関するメモです。

環境

9.10 Karmicのモジュールのロード元

何も指定しない状態でもロード可能なのが以下のフォルダ。

  • /usr/lib/python2.6
  • /usr/lib/python2.6/plat-linux2
  • /usr/lib/python2.6/lib-tk
  • /usr/lib/python2.6/lib-old
  • /usr/lib/python2.6/lib-dynload

その後、siteをimportすると、以下のフォルダがロード元として追加される。一段下になっているのが、pthファイルで指定されたフォルダ。

  • /usr/lib/python2.6/dist-packages
    • /usr/lib/python2.6/dist-packages/PIL
    • /usr/lib/python2.6/dist-packages/gst-0.10
    • /usr/lib/python2.6/dist-packages/gtk-2.0
    • /usr/lib/pymodules/python2.6
      • /usr/lib/pymodules/python2.6/gtk-2.0
  • /usr/local/lib/python2.6/dist-packages
  • </ul>

    /var/lib がなくなって、代わりに/usr/lib/pymodules というフォルダが追加されている。実際には、/var/lib/python-supportは、/usr/lib/pymodulesへのシンボリックリンクとして残っている。

    また、/usr/lib/pymodules 内も多くがシンボリックリンクで、モジュールの実体は/usr/share/python-supportや、/usr/share/pysharedにあるものが多い。

    9.04 Jauntyのモジュールのロード元

    site無しの状態では、以下のフォルダのみ。

    • /usr/lib/python2.6/
    • /usr/lib/python2.6/plat-linux2
    • /usr/lib/python2.6/lib-tk
    • /usr/lib/python2.6/lib-old
    • /usr/lib/python2.6/lib-dynload

    import site後は以下のフォルダ。/var/lib/python-supportがpthで追加される。

    • /usr/lib/python2.6/dist-packages
      • /var/lib/python-support/python2.6
    • /usr/local/lib/python2.6/dist-packages
    • </ul>

      ロード元フォルダの調べ方

      • 以下のようにPythonを起動
      python -S
      
      • sys.pathを調べる
      >> import sys; sys.path
      
      • import site後のsys.pathを調べる
      >> import sys,site; sys.path
      

      commentプラグインは存在しません。