Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 60

ImportError: cannot import name 'cached_property' from 'werkzeug'

22.07.2021, 19:28. Показов 4480. Ответов 4

Студворк — интернет-сервис помощи студентам
Доброго времени суток, не компилируется программа, выходит вот такая ошибка:
Code
1
2
3
4
5
6
7
8
9
10
Traceback (most recent call last):
  File "C:\Users\PC1337\PycharmProjects\newlife\gotopars\Pars\Lesson1.py", line 4, in <module>
    from robobrowser import RoboBrowser
  File "C:\Users\PC1337\anaconda3\envs\newlife\lib\site-packages\robobrowser\__init__.py", line 3, in <module>
    from .browser import RoboBrowser
  File "C:\Users\PC1337\anaconda3\envs\newlife\lib\site-packages\robobrowser\browser.py", line 8, in <module>
    from werkzeug import cached_property
ImportError: cannot import name 'cached_property' from 'werkzeug' (C:\Users\PC1337\anaconda3\envs\newlife\lib\site-packages\werkzeug\__init__.py)
 
Process finished with exit code 1
Вот код программы:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import requests
import bs4
from fake_useragent import UserAgent
from robobrowser import RoboBrowser
 
 
UserAgent().chrome
page_link = 'http://todocabe.tilda.ws/'
page_link0 = 'https://knowyourmeme.com/memes/all/page/1'
response = requests.get(page_link0, headers={'User-Agent': UserAgent().chrome})
print(response)
for key, value in response.request.headers.items():
    print(f'{key}:{value}')
html = response.content
soup = bs4.BeautifulSoup(html, 'html.parser')
obj = soup.findAll(lambda tag: tag.name == 'a' and tag.get('class') == ['photo'])
obj = [link.attrs['href'] for link in obj]
print(obj[:10])
browser = RoboBrowser(history=True)
browser.open('http://todocabe.tilda.ws/')
print(browser.parsed)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.07.2021, 19:28
Ответы с готовыми решениями:

ImportError: cannot import name 'x' from 'main'
Добрый день. Подскажите пожалуйста как избавить от этой ошибки. Ошибка выскакивает если я пытаюсь запустить код и из test.py и из...

ImportError: cannot import name 'PROT_READ' from 'mmap'
Всем привет! Скачал с гитхаба очень нужный скрипт - декриптор прошивок IPMI. В описании к скрипту указано как запускать скрипт: ...

ImportError: cannot import name 'vacuum' from 'miio'
Пишу мини проект, где умный дом управляется через телеграм бот. Мне необходимо импортировать класс vacuum из пакета miio. Установил сам...

4
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
22.07.2021, 20:04
Kamikadze!,
Гуглить пробовал?
Это баг flask (точнее входящего в него модуля werkzeug) определенной версии 2020 года.
Сейчас уже, наверно, поправили.
Попробуй поставить самую последнюю версию flask в анаконду. Только не спрашивай как.

Добавлено через 3 минуты
Если не поправили, то можно хакнуть:

Python
1
2
import werkzeug
werkzeug.cached_property = werkzeug.utils.cached_property
0
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 60
22.07.2021, 20:36  [ТС]
Garry Galler
Обновил Flask, не помогло
и это тоже
Python
1
2
import werkzeug
werkzeug.cached_property = werkzeug.utils.cached_property
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
22.07.2021, 20:59
Цитата Сообщение от Kamikadze! Посмотреть сообщение
и это тоже
Другим помогает (этот код нужно в самое начало файла ставить).
Иных решений не знаю. Кроме как откатиться в обратную сторону - на версию flask из 2019-го года.
0
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 60
23.07.2021, 04:57  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Другим помогает (этот код нужно в самое начало файла ставить).
так и было сделано

Добавлено через 21 минуту
вставил это
Python
1
2
3
import werkzeug
__version__ = "1.0.1"
werkzeug.cached_property = werkzeug.utils.cached_property
в __init__.py
по пути anaconda3\envs\newlife\Lib\site-packages\werkzeug\__init__.py
и все вроде бы заработало с варнингом
Code
1
2
3
4
5
C:\Users\PC1337\anaconda3\envs\newlife\lib\site-packages\robobrowser\browser.py:38: GuessedAtParserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.
 
The code that caused this warning is on line 38 of the file C:\Users\PC1337\anaconda3\envs\newlife\lib\site-packages\robobrowser\browser.py. To get rid of this warning, pass the additional argument 'features="lxml"' to the BeautifulSoup constructor.
 
  return BeautifulSoup(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.07.2021, 04:57
Помогаю со студенческими работами здесь

ImportError: cannot import name 'deepcopy' from 'copy'
Помогите пожалуйста!!! import turtle Traceback (most recent call last): File &quot;&lt;pyshell#0&gt;&quot;, line 1, in &lt;module&gt; ...

ImportError: cannot import name 'is_divide_by' from 'solution'
def isDivideBy(number, a, b): if number // a and b: print(True) else: print(False) ...

ImportError: cannot import name 'Chat' from 'telegram'
Привет, ребята, пишу бота, но выдаёт ошибку, не могу понять в чём дело. (Я новичок). Сам код: from telegram.ext import Updater,...

Ошибка: ImportError: cannot import name 'views' from '__main__'
Добрый день! Не могу понять причину ошибки, все делаю правильно, но выходит ошибка: ImportError: cannot import name 'views' from...

ImportError: cannot import name 'sdl2' from 'kivy.deps'
Здравствуйте, вопрос к знатокам. При запуске spec файла получаю ошибку: ImportError: cannot import name 'sdl2' from...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru