2011/02/19

Windows の python と Cygwin の共存ではまるの巻

ちくしょう、昨日の夜中と今日の午前中を返せ!

というわけで、Windowsでpythonやってるんですが、

Windows Python2.6 と cygwin の入ってる環境で、
見事にはまりましたので、現象と解決策をまとめます。

まず、何が起きたかというと、Windows版でeasy_installを利用する場合
インストーラーにて、インストールすることになります。

で、使えるだろ思って、今回はNoseGAEをインストールしようと

$ pyhon setup.py install

と行くわけです。で、出てきたメッセージは、

  File "setup.py", line 1, in <module>
    from setuptools import setup
ImportError: No module named setuptools

なんのことかと思いました。だって僕インストールしたもんさ!

そして悩むこと数時間。pythonを起動するといつも出てくるメッセージに
違和感を覚える。

Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01)
[GCC 4.3.4 20090804 (release) 1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.

cygwin?

cygwin?

cygwin?

・・・

あ、共存に失敗しとる?

というわけでGoogleさんに聞いてみると、一発でこちらのページ
たどり着きまして、「そりゃそうだよね」と納得した次第。

環境変数のpathでcygwinのほうが、優先度が高くなってまして
Windows版のpythonが呼ばれてなかったようです。

また、あわせてpythonのパスも設定しておく必要があるそうなので、それも。

PATHの先頭(cygwinのパスより先に、pythonのパス
(デフォならc:\python26あたり)を設定してあげると、Windows版を呼びます。

Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.

こんな風に出たらOK!

あと、PYTHONPATH(説明)を設定しておくと、setuptoolsも探しにいってくれるはず。

PYTHONPATH の環境変数を新規に作成して、site-packagesを追加します。(デフォなら c:\python26\Lib\site-packages\ あたり)

これで、easy_installを使うセットアップ呼び出したら動いた!良かった・・・

たぶん、この時点で気がつかなかったら、GAE関連やり始めて、さらにカオスに陥ることうけあい。不幸中の幸いかなぁ・・・

0 件のコメント:

コメントを投稿