Python Web.py-AttributeError:';模块';对象没有属性';应用程序';
我使用web.py编写小型helloworld站点,但当我运行Python Web.py-AttributeError:';模块';对象没有属性';应用程序';,python,google-app-engine,web.py,Python,Google App Engine,Web.py,我使用web.py编写小型helloworld站点,但当我运行python code.py时,会收到一条错误消息: Traceback (most recent call last): File "E:\Python25\webpy\web\mysite.py", line 1, in <module> import web File "E:\Python25\webpy\web\web.py", line 4, in <module> app =
python code.py
时,会收到一条错误消息:
Traceback (most recent call last): File "E:\Python25\webpy\web\mysite.py", line 1, in <module>
import web File "E:\Python25\webpy\web\web.py", line 4, in <module>
app = web.application(urls, globals()) AttributeError: 'module' object has no attribute 'application'
注意:web.py版本是0.35。您遇到了名称冲突。您已将包命名为web,并且正在尝试导入模块web 我假设这是一个包裹
\webpy\web\mysite.py
如果是这样,当您执行导入web时,您导入的是您的包,而不是实际的web.py。重命名它,或者重新排列你的pythonpath。这在我的例子中奏效了:在app.yaml文件中,替换
- url: /.*
script: test.application
为此,
- url: /.*
script: test.app
这解决了名称冲突。根据上面一位用户的建议,我已将我的评论转化为答案,以提高其可见性:
如果您首先调用文件
web.py
,而不是像Python教程中那样调用文件code.py
,那么您也可能在正在编码的文件夹中创建了一个web.pyc
“字节码”文件。发现名称冲突后,请确保同时删除web.pyc
文件 检查当前目录是否有web.py或web.pyc文件您的意思是我的web模块与web.py冲突?但我找不到我的web.py:(你在webpy\web\中有一个init.py吗?是的,我在webpy\web\中有一个init.py。参见上文,它不是导入真正的web.py。如果你首先调用文件web.py
,而不是像Python教程中那样调用code.py
,那么你可能还有一个web.pyc
“字节码”在正在编码的文件夹中创建的文件。发现名称冲突后,请确保同时删除web.pyc
文件。
- url: /.*
script: test.app