我收到以下错误:
(virtualenv)[chirdeep@fedora-desktop ~]$ python programs/python/myrestapi.py
Traceback (most recent call last):
File "programs/python/myrestapi.py", line 2, in <module>
import bottle
File "/home/chirdeep/programs/python/bottle.py", line 1, in <module>
from bottle import route, run
ImportError: cannot import name route
我有python 2.7.3和3.2.3。 (virtualenv)指向python3,我在这里安装了瓶子,并且它在site-packges下可用..
激活环境后,我可以在python控制台下导入瓶子。
(virtualenv)[chirdeep@fedora-desktop ~]$ python
Python 3.2.3 (default, Jul 26 2012, 22:03:19)
[GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import bottle
>>>
任何帮助都会非常感激,让我发疯。
由于
答案 0 :(得分:16)
您自己的Python文件名为bottle.py
:
File "/home/chirdeep/programs/python/bottle.py", line 1, in <module>
所以真实的 bottle.py
会被你自己的文件所遮蔽。由于您自己的文件不包含route
和run
,因此失败:
from bottle import route, run
重命名您自己的文件,可能是mybottle.py
。
答案 1 :(得分:2)
我猜这个问题与程序命名空间与瓶子的碰撞有关。即:Python正试图从/home/chirdeep/programs/python/bottle.py而不是站点包中的bottle.py导入路由。
尝试重命名程序文件。