几天以来,CherryPy的2.2.0beta一直在更新,但是Kevin Dangoor一直没有出新的egg版本,ez_setup.py又不会自动装上2.2的,所以新的TurboGears总是用不了。


今年下午有点空,想继续做自己的todo小项目,就想着自己build它的egg。


看了install_tools的文档,还是没有看明白,我觉着写得就不算很清楚。那个build的命令就是不成功。


后来在CherryPy的svn目录下面,看到了一个make-sdist文件,没有扩展,凭直觉应该是一个linux下的脚本,打开看了一下:


rm MANIFEST
python setup.py sdist –formats=gztar


这个python setup.py sdist –formats=gztar 会不会可以用呢?


试了一下,真的开始了打包。不过,最后却没有成功,为什么?提示说没有tar这个程序。原来如此。我手工把压缩成zip包,再改成egg后缀。


easy_install XX.egg一通安装,没有报错。不会这么简单吧?


打开安装之后的文件夹一看。果然问题多多。除了目录又包了一层外,少了一个egg-info的目录,包信息不对头。没有关系,对照着cherrypy.2.1.1.egg的目录改。



  1. 先把老的egg-info目录完全复制过来,再拷贝新的PKG-INFO文件过来替换老了,就是这个文件里面写着重要的版本信息。其它的文件没有关系。
  2. 再把包了一层的cherrypy模块目录移上层,也就是移出来。
  3. 最后,删除不必要的目录。

不放心的话,到easy-install.pth文件中检查一下注册的入口是不是这样的:


c:\python24\lib\site-packages\cherrypy-2.2.0beta.egg


再运行我的todo,一切正常。


不过这是土法。正当的法子是什么,我还是不清楚。文档里面没有讲清楚。


评论

该日志第一篇评论

发表评论

评论也有版权!