Python request-html throwing error для многопроцессорной обработки - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь перейти через мою программу очистки веб-страниц с использования библиотеки запросов на библиотеку запросов-html, чтобы позволить мне отображать JavaScript на веб-страницах.При импорте модуля выдается эта ошибка:

Traceback (most recent call last):
  File "backend2.py", line 2, in <module>
    import requests_html
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/requests_html.py", line 9, in <module>
    import pyppeteer
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/__init__.py", line 30, in <module>
    from pyppeteer.launcher import connect, launch, executablePath  # noqa: E402
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/launcher.py", line 24, in <module>
    from pyppeteer.browser import Browser
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/browser.py", line 15, in <module>
    from pyppeteer.page import Page
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/page.py", line 20, in <module>
    from pyppeteer.coverage import Coverage
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/coverage.py", line 15, in <module>
    from pyppeteer.util import merge_dict
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/util.py", line 10, in <module>
    from pyppeteer.chromium_downloader import check_chromium, chromium_executable
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/chromium_downloader.py", line 15, in <module>
    from tqdm import tqdm
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tqdm/__init__.py", line 1, in <module>
    from ._tqdm import tqdm
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/tqdm/_tqdm.py", line 75, in <module>
    mp_lock = mp.RLock()  # multiprocessing lock
AttributeError: module 'multiprocessing' has no attribute 'RLock'

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 27 ноября 2018

Вы используете Python 3.7, но GitHub запросов-HTML утверждает, что поддерживается только Python 3.6 (внизу страницы).Я получаю всевозможные ужасные ошибки, когда пытаюсь использовать Python 3.7, но 3.6 работает нормально.Итак, кажется странным, что я знаю, но, пожалуйста, попробуйте использовать 3.6

. Несмотря на это, @georgexsh заявляет, что для импорта из multiprocessing в 3.7 все еще должно быть доступно RLock, так что похоже, что ваша ошибка можетна самом деле один из ваших файлов кода называется multiprocessing.py или у вас есть собственный пакет с именем multiprocessing (поэтому вы импортируете его вместо того модуля, который вы хотели).

...