在新环境中使用web.py时的ImportError

时间:2011-03-12 03:49:30

标签: python virtualenv web.py

我刚刚重新创建了我所有的python环境,重新安装了python和setuptools,并安装了virtualenv。 我使用virtualenv --no-site-packages test启动了测试环境,并使用Scripts\activate.bat然后easy_install web.py激活了该环境。 然后我创建了一个code.py文件:

import web

urls = (
    '/.*', 'index',
)

app = web.application(urls, globals())

class index:
     def GET(self):
            return 'ok'

if __name__ == "__main__": app.run()

我收到以下错误:

File "...\code.py", line 1, in <module>
import web
ImportError: No module named web

但如果我使用交互式shell,它可以工作:

>>> import web
>>>

在激活环境的同一cmd中完成所有操作。

有谁知道发生了什么事?

编辑:

适用于环境中安装的每个软件包。首先它是web.py,现在是BeautifulSoup(同样的问题,无法找到模块,但导入在python shell中工作)

EDIT2:

激活脚本没有设置新的python可执行文件,而pythonpath print sys.executable给出了C:\Python27\python.exe

1 个答案:

答案 0 :(得分:1)

解决。

Windows配置为使用C:\Python27\python.exe打开.py文件。我甚至可以记得前一段时间设置这个mannualy所以我不必使用python来运行文件(哦,懒惰,你对我做了什么?)。

这就是它使用交互式shell的原因,但不是通过执行code.py文件。

使用python code.py运行文件非常有效。