[python]MacPortsで入れたPythonでeasy_install

カテゴリ: python / author: uechoco / 2010年08月07日 01:13:10
この記事を読む時間:437くらい

前回は[python]2.5、2.6、3.x系など、バージョンの違い : うえちょこ@ぼろぐにてSnowLeopard標準のPython 2.6ではなく、GAE用にMacPortsを利用してPython 2.5とpython_selectをインストールしました

さて、Pythonにはphpでいうpear/peclコマンド、perlでいうcpanコマンドに当たるようなeasy_installというコマンドがあるようです。PyPI(Python Package Index)というレポジトリから文字通り簡単にライブラリが追加できるコマンドのようです。このコマンドはsetuptoolsというパッケージ(なのかな?)に含まれています。あーありがち - Pyに触ってみたの途中にある比較表が分かりやすいです。

このeasy_installというコマンドもどうやらPythonのインストール環境に依存しているようです。つまりMacPortsで入れたPython専用にeasy_installコマンドがちゃんと用意されています。といってもこれもMacPortsでインストールする必要があります。たとえば、私がインストールしたPython 2.5用のeasy_installコマンドはpy25-setuptoolsというパッケージに含まれています。インストールは以下のような感じになります。

Bash:
  1. sudo port install py25-setuptools

インストールしたeasy_installコマンドのパスを確認しておきましょう。普通のeasy_installコマンドは、デフォルトではSnowLeopardに標準で入っているpython26-apple用のものです。

Bash:
  1. $ which easy_install
  2. /usr/bin/easy_install

MacPortsで入れたPythonのeasy_installコマンドは別のところにあります。

Bash:
  1. $ ls /opt/local/bin/easy_install-2.5
  2. /opt/local/bin/easy_install-2.5

本当にコマンドが違うものなのかどうか、以下のような実験をしてみました(Mac OS X 10.6.4)。

    • 「sudo python_select python25」でMacPortsでインストールしたPython 2.5に切り替え
    • 「sudo /opt/local/bin/easy_install-2.5 django」でDjangoライブラリをインストール
    • 「python」でインタプリタ起動
    • 「>>> import django」でdjangoモジュールを読み込んでもエラーはでない。
    • 「>>> quit()」でインタプリタ終了
    • 「sudo python_select python26-apple」でSnowLeopard標準のPython 2.6に切り替え
    • 「python」でインタプリタ起動
    • 「>>> import django」でdjangoモジュールを読み込むと、「ImportError: No module named django」で読み込めない。
    • 「>>> quit()」でインタプリタ終了
    • 「sudo python_select python25」でMacPortsでインストールしたPython 2.5に切り替え
    • 「sudo /opt/local/bin/easy_install-2.5 django」でDjangoライブラリをインストール
    • 「python」でインタプリタ起動
    • 「>>> import django」でdjangoモジュールを読み込んでもエラーはでない。
    • 「>>> quit()」でインタプリタ終了

ということで、インストールした環境に応じてeasy_installコマンドは違いますので注意しましょう。

参考:あーありがち - Pyに触ってみた


1件のコメント »

  1. コメント by hiroakey — 2011 年 7 月 6 日 @ 20 : 02 : 01

    > 「sudo python_select python25」でMacPortsでインストールしたPython 2.5に切り替え
    このときのコマンドは 「sudo port select –set python python25」 ではありませんか?

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

Copyright © 2012 うえちょこ@ぼろぐ. WP Theme created by Web Top.