最近在学习Learn python the hard way ,在习题51最后一步为表单撰写自动测试代码时,使用virtualenvwrapper激活虚拟环境env1后在~/projects/gothonweb目录下使用nosetests自动测试,总是无法导入web模块,出现ImportError:no module named web。但是在相同目录和环境下直接运行python bin/app.py可以正常导入web模块,且在虚拟环境env1激活时可以使用nosetests自动测试其他的projects。
经过一些测试和阅读文档发现,由于我只在虚拟环境env1中安装了lpthw.web,在系统默认python路径下没有web模块,而创建的虚拟环境env1只是继承/usr/local/lib/python2.7/site-packages路径下的pip, setuptools,和wheel,没有nose模块,所以在激活虚拟环境env1的情况下使用的nosetests与web模块路径不同,无法同时运行。
两种方法解决该问题:
1 在虚拟环境env1中再安装一个nose模块;
2 在系统默认python路径下安装lpthw.web。

239

被折叠的 条评论
为什么被折叠?



