在新环境中使用 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 中工作)
编辑2:
激活脚本没有设置新的 python 可执行文件和 pythonpath print sys.executable
给出C:\Python27\python.exe
。
I just recreated all my python environment, reinstalled python and setuptools, and installed virtualenv.
I started a test enviroment with virtualenv --no-site-packages test
, activated it with Scripts\activate.bat
and then easy_install web.py
.
Then I create a code.py
file:
import web
urls = (
'/.*', 'index',
)
app = web.application(urls, globals())
class index:
def GET(self):
return 'ok'
if __name__ == "__main__": app.run()
And I get the following error:
File "...\code.py", line 1, in <module>
import web
ImportError: No module named web
But if I use the interactive shell it works:
>>> import web
>>>
Everything done in the same cmd with the enviroment activated.
Does anyone know what is going on?
Edit:
It happens for every package installed within the environment. First it was web.py, now BeautifulSoup (same issue, cant find module, but import works in python shell)
Edit2:
The activate script is not setting the new python executable and the pythonpath print sys.executable
gives C:\Python27\python.exe
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决了。
Windows 配置为使用
C:\Python27\python.exe
打开 .py 文件。我什至记得前段时间手动设置过这个,这样我就不必使用 python 来运行文件(哦,懒惰,你对我做了什么?)。这就是为什么它使用交互式 shell,而不是通过执行 code.py 文件。
使用 python code.py 运行该文件效果很好。
Solved.
Windows was configured to open .py files with
C:\Python27\python.exe
. I can even remember setting this mannualy some time ago so I wouldn't have to usepython
to run files (oh lazyness, what have you done to me?).That's why it was working with the interactive shell, but not by executing the code.py file.
Running the file using
python code.py
works perfectly.