6

我收到以下错误:

(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
>>> 

任何帮助将不胜感激,让我发疯。

谢谢

4

2 回答 2

16

您自己的 Python 文件称为bottle.py

File "/home/chirdeep/programs/python/bottle.py", line 1, in <module>

所以真实 bottle.py的被你自己的文件所掩盖。由于您自己的文件不包含and routerun因此失败:

from bottle import route, run

重命名您自己的文件,也许是mybottle.py.

于 2014-10-11T08:40:16.683 回答
2

我猜这个问题与你的程序的名称空间与瓶子的冲突有关。即:Python 正在尝试从 /home/chirdeep/programs/python/bottle.py 而不是 site-packages 中的 bottle.py 导入路由。

尝试重命名您的程序文件。

于 2014-10-11T08:36:39.190 回答