页面

2009年3月24日

python的import路径问题

其实都知道 python的PATH包括:
* 当前目录
* 环境变量PYTHONPATH
* WINDOWS的注册表
* python安装目录下的lib和lib/site-packages
* 程序运行过程中sys.path中添加的
大多数时候装的第三方的模块都是装到它的lib/site-packages里去了,模块的名
字就是site-packages里的目录的名字。

但是还有一种情况,就是如果我有个模块在site-packages里,是一个目录的形式,名字叫 zwtest-0.1,这时候想要import这个模块的话,应该写成:

import zwtest-0.1

但是这样就很不爽了,如果出了 zwtest-0.2,连import都的改,有一办法就是在与zwtest-0.1相同目录里建立一个zwtest.pth的文件,里面内容是 zwtest-0.1,这样python在查找模块的时候,会把zwtest.pth中的模块全部当成名为zwtest的模块,这时候 import zwtest 就和import zwtest-0.1效果一样了,就是升级了版本,只需要修改zwtest.pth就好了,而且也很好的解决了一个模块的多版本共存问题。并且, *.pth中是可以写多个模块的,一行写一个就行,很cool。

http://hi.baidu.com/python23/blog/item/fe7112df15a24112632798ca.html

没有评论: