When it’s ready.

出来るまで出来ない

simplejson インストール出来るようになったよ。(若干問題あり)

昨日のエントリーの続き です。
id:Voluntasさんと id:daemonfreaksさんのコメントで解決しましたです。
Cコンパイラーが、windowsでは標準で入っていないのが原因。(その点に、気づかなかった事と、入れ方が分からなかったのが問題だった)

作業手順

  1. http://www.mingw.org/ からインストーラーをゲットしてくる。
  2. インストールする(今回は c:/software/minigw/にインスこした)
  3. 環境変数設定する。
  4. Pythonに設定を追加する。(ここを参考にしました。)
  5. 以上

詳細説明

1、今回DLしたのは、MinGW-5.1.3.exe というバージョンだった。
2、インストール先は C:\software\MinGW を指定した。他の全ての設定はデフォルトのまま。
3、イントールのみでは、pathの設定がされなかったので環境変数に以下をついか

C:\Program Files\Python25;C:\Program Files\Python25\scripts;C:\software\MinGW\bin;

4、インストールした、MinGWを使用するよう(?)Pythonに設定する。

  • 設定するファイル
    • YOURPATH\Python25\Lib\distutils\distutils.cfg
  • 書き込む内容(初期状態では、上記ファイルが無かったため作成した)
[build]
compiler=mingw32

5、実行してみる。>>問題発生

[問題発生]プロンプト上でカレントがCドライブだと、easy_installが実行できない。

上記1−4でインストール作業が完了し、いざ実行してみると動かない。
症状

C:\>easy_install
Traceback (most recent call last):
  File "C:\Program Files\Python24\scripts\easy_install-script.py", line 7, in ?
    sys.exit(
  File "c:\program files\python24\lib\site-packages\setuptools-0.6c6-py2.4.egg\pkg_resources.py", line 277, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "c:\program files\python24\lib\site-packages\setuptools-0.6c6-py2.4.egg\pkg_resources.py", line 2179, in load_entry_point
    return ep.load()
  File "c:\program files\python24\lib\site-packages\setuptools-0.6c6-py2.4.egg\pkg_resources.py", line 1912, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "c:\program files\python24\lib\site-packages\setuptools-0.6c6-py2.4.egg\setuptools\command\easy_install.py", line 21, in ?
    from setuptools.package_index import PackageIndex, parse_bdist_wininst
  File "c:\program files\python24\lib\site-packages\setuptools-0.6c6-py2.4.egg\setuptools\package_index.py", line 3, in ?
    import sys, os.path, re, urlparse, urllib2, shutil, random, socket, cStringIO
  File "C:\Program Files\Python24\lib\urllib2.py", line 91, in ?
    import ftplib
  File "C:\Program Files\Python24\lib\ftplib.py", line 45, in ?
    import socket
ImportError: dynamic module does not define init function (initsocket)

C:\>

なんか、どーやらftplib.pyでエラッてるらしいが手出ししにくい。

gccは、普通に動いてるぽいのでeasy_installにはなんとか頑張ってもらいたいところ。
ドス窓リフレッシュするつもりでもう一個新規で開いて、もう一回実行してみる。

U:\>easy_install
error: No urls, filenames, or requirements specified (see --help)

U:\>

ん?実行できた。どーやら、Cドライブカレントだと動かないらしい。
ホームがUドライブでよかった。じゃないと、気づいてないと思う。
とりあえづ、動いたぽいので、simplejson入れてみる。

U:\>easy_install simplejson
Searching for simplejson
Reading http://cheeseshop.python.org/pypi/simplejson/
Reading http://undefined.org/python/#simplejson
Reading http://cheeseshop.python.org/pypi/simplejson/1.7.4
Best match: simplejson 1.7.4
Downloading http://pypi.python.org/packages/source/s/simplejson/simplejson-1.7.4
.tar.gz#md5=0395956395d22657c333a1de57dce2d3
Processing simplejson-1.7.4.tar.gz
Running simplejson-1.7.4\setup.py -q bdist_egg --dist-dir c:\docume~1\onair.cg\l
ocals~1\temp\easy_install-3ll6rx\simplejson-1.7.4\egg-dist-tmp-efpq_a
Adding simplejson 1.7.4 to easy-install.pth file

Installed c:\program files\python24\lib\site-packages\simplejson-1.7.4-py2.4-win
32.egg
Processing dependencies for simplejson
Finished processing dependencies for simplejson

U:\>python
Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import simplejson
>>>
>>>

キタですよ! 成功です。特にへんてこなオプションつけることなく、普段通りのやりかたでインスコできました。
一点だけの注意点は、Cドラカレントで実行するな!という事だけ

id:Voluntasさんと id:daemonfreaksさんありがとうございました。
目的を達成することが出来ましたです。

結論

だまって、OSXマシーン買うべし!

*ログが、python24だったりpython25だったりしていますが、色んな環境でやっていたので混ざってしまいました。なんとなく、意味を汲み取ってやってください。ズミバゼン