python - 在新环境中使用 web.py 时出现导入错误

标签 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
>>>

一切都在激活环境的同一个命令中完成。

有谁知道这是怎么回事吗?

编辑:

环境中安装的每个软件包都会发生这种情况。首先是 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/

相关文章:

python - shell 脚本中的 virtualenvwrapper 函数不可用

python - 当 pip 设置为需要 virtualenv 时,如何允许 pip 进入 anaconda3 venv?

python - web.py + uwsgi + nginx 未找到应用程序

python - Flask/Jinja2动态WTF表单模板

python - 是否可以让 SimpleHTTPServer 提供来自两个不同目录的文件?

python - 在 virtualenv 中找不到 Atom.core

python - Web.py session 数据在生产中消失

python - Pylance:在这种情况下不允许使用 "ClassVar"?

Python Eve - 如果存在则更新记录,否则插入

python - Web.py db.update() - 将字典作为参数传递,其中 AND 作为值列表