Ste*_*urr 14 python python-3.x
我不能让它工作。我一直在添加模块,但每次都找不到新的模块。为什么这段代码在 Python3.6 中不起作用?
代码:
from robobrowser import robobrowser
from bs4 import BeautifulSoup
import urllib2
import cookielib
from werkzeug import werkzeug
from cached_property import cached_property
cj = cookielib.CookieJar()
br = robobrowser.Browser()
br.set_cookiejar(cj)
br.open("https://www.cbssports.com/login")
br.select_form(nr=0)
br.form['userid'] = 'steveb1164'
br.form['password'] = ''
br.submit()
print(br.response().read())
Run Code Online (Sandbox Code Playgroud)
跑:
RESTART: C:/Users/Steve/AppData/Local/Programs/Python/Python36-32/CBSlogin.py
Traceback (most recent call last):
File "C:/Users/Steve/AppData/Local/Programs/Python/Python36-32/CBSlogin.py", line 1, in <module>
from robobrowser import robobrowser
File "C:\Users\Steve\AppData\Local\Programs\Python\Python36-32\lib\site-packages\robobrowser\robobrowser\__init__.py", line 3, in <module>
from .browser import RoboBrowser
File "C:\Users\Steve\AppData\Local\Programs\Python\Python36-32\lib\site-packages\robobrowser\robobrowser\browser.py", line 8, in <module>
from werkzeug import cached_property
ImportError: cannot import name 'cached_property'
Run Code Online (Sandbox Code Playgroud)
小智 24
通过在 Flask 导入之前插入这些行,我让 werkzeug 应用程序在 Python 3.6 中运行:
import werkzeug
werkzeug.cached_property = werkzeug.utils.cached_property
Run Code Online (Sandbox Code Playgroud)
Noe*_*ans 10
如果您在使用 Flask Rest-Plus 时看到此问题,则说明开发团队存在问题
https://github.com/noirbizarre/flask-restplus/issues/777
观察到:
“降级到 Werkzeug 到 0.16.0(暂时)解决了这个问题。”
回复有点晚了,但我可能已经找到了解决方案。
您需要将 werkzeug import cached property 重命名为以下内容:
from werkzeug.utils import cached_property
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
hsp*_*her -2
尝试重新安装该werkzeug软件包。
pip uninstall Werkzeug
pip install Werkzeug
Run Code Online (Sandbox Code Playgroud)