瓶子:无法导入路线

Chi*_*mar 6 virtualenv bottle python-3.2

我收到以下错误:

(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
Run Code Online (Sandbox Code Playgroud)

我有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
>>> 
Run Code Online (Sandbox Code Playgroud)

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

谢谢

小智 16

您自己的Python文件被调用bottle.py:

File "/home/chirdeep/programs/python/bottle.py", line 1, in <module>
Run Code Online (Sandbox Code Playgroud)

所以真实 bottle.py的东西被你自己的文件遮蔽了.由于自己的文件并没有包含route并且run,此操作失败:

from bottle import route, run
Run Code Online (Sandbox Code Playgroud)

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


7yl*_*l4r 2

我猜这个问题与程序的名称空间与 Bottle 的冲突有关。即:Python 尝试从 /home/chirdeep/programs/python/bottle.py 导入路由,而不是站点包中的 Bottle.py。

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