我刚刚重新创建了所有 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
>>>
一切都在激活环境的同一个命令中完成。
有谁知道这是怎么回事吗?
编辑:
环境中安装的每个软件包都会发生这种情况。首先是 web.py,现在是 BeautifulSoup(同样的问题,找不到模块,但导入可以在 python shell 中使用)
编辑2:
激活脚本未设置新的 python 可执行文件,并且 pythonpath print sys.executable
给出 C:\Python27\python.exe
。
最佳答案
已解决。
Windows 配置为使用 C:\Python27\python.exe
打开 .py 文件。我什至记得前段时间手动设置过这个,这样我就不必使用 python
来运行文件(哦,懒惰,你对我做了什么?)。
这就是为什么它使用交互式 shell,而不是通过执行 code.py 文件。
使用python code.py
运行该文件效果很好。
关于python - 在新环境中使用 web.py 时出现导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5280418/