momo zone

调核人的blog

python 平易近人?!

我的boss心血来潮,让我和某位同事研究一下task-coach(一个python的开源项目)的源代码, 下载下来一看吓一跳,一共有13MB。 对于python 算的上大家伙了。虽然下载了source code ,但我并不打算编译它(python 本来不就不需要编译嘛)而是直接用source 去运行。查看代码树,发现核心都在taskcoachlib 里面,而起始文件是taskcoach.py ,Ok, 很简单直接 python taskcoach.py 应该就能运行了.但结果还是出错了:

Traceback (most recent call last):
  File "H:TaskCoach-0.78.0taskcoach.py", line 51, in <module>
    start()
  File "H:TaskCoach-0.78.0taskcoach.py", line 40, in start
    from taskcoachlib import config, application
  File "H:TaskCoach-0.78.0taskcoachlibconfig__init__.py", line 19, in <modul
e>
    from settings import Settings
  File "H:TaskCoach-0.78.0taskcoachlibconfigsettings.py", line 20, in <modul
e>
    import ConfigParser, os, sys, wx
ImportError: No module named wx

我立刻发觉这个程序用了wxPython 库,立即去http://www.wxpython.org/download.php 下载(而且是AMD64版本,因为我用的是X64平台),安装的时候提示找不到%PYTHONPATH% 。不要紧稍后手动定位,安装到最后问是不是将库里面py编译成pyc, 结果失败,因为找不到%PYTHONPATH% 。 这里有个问题,一般其他程序判断%PYTHONPATH%并不是从环境变量中查找,而是在注册表中。后来查看了一下确实没有在HKLM\Software 中找到%PYTHONPATH% 。

安装完毕后继续python taskcoach.py  ,执行到call native dll的时候报错:

ERROR: Failure: ImportError (不是有效地Win32应用程序)

很奇怪,确认安装的是wx X64 库怎么会有问题? 于是把VS05,08 的runtime X64&X86 都上了一遍还是error

 难道是因为%PYTHONPATH% 在注册表中找不到? 最后发现之前找不到的python 键值,在Wow6432Node 中找到了。 我恍然大悟,原来我装的是X86版本的Python 。 怪不得会提示“不是有效地Win32应用程序”。 这也怪官方站点做的不好,因为根本就没有很醒目的列出X64 的载点。 全部版本的下载点在这里 http://www.python.org/ftp/python/

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: