我刚刚重新创建了我所有的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
。
答案 0 :(得分:1)
解决。
Windows配置为使用C:\Python27\python.exe
打开.py文件。我甚至可以记得前一段时间设置这个mannualy所以我不必使用python
来运行文件(哦,懒惰,你对我做了什么?)。
这就是它使用交互式shell的原因,但不是通过执行code.py文件。
使用python code.py
运行文件非常有效。