Python请求html引发多处理错误

Python请求html引发多处理错误,python,python-3.x,python-requests,multiprocessing,python-requests-html,Python,Python 3.x,Python Requests,Multiprocessing,Python Requests Html,我正在尝试将我的web抓取程序从使用请求库转移到请求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

我正在尝试将我的web抓取程序从使用请求库转移到请求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'
回溯(最近一次呼叫最后一次):
文件“backend2.py”,第2行,在
导入请求\u html
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/requests_html.py”,第9行,在
进口皮佩提尔
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyppeteer/_-init___.py”,第30行,在
从pyppeteer.launcher导入连接、启动、可执行路径#noqa:E402
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pyppeteer/launcher.py”,第24行,在
从pyppeteer.browser导入浏览器
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pyppeteer/browser.py”,第15行,在
从pyppeteer.page导入页面
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pyppeteer/page.py”,第20行,在
从pyppeteer.coverage导入coverage
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pyppeteer/coverage.py”,第15行,在
从pyppeteer.util导入合并目录
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pyppeteer/util.py”,第10行,在
从pyppeteer.chromiu下载程序导入检查chromiu,chromiu可执行文件
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/pyppeteer/chromiu downloader.py”,第15行,在
从TQM导入TQM
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/tqdm/__init__.py”,第1行,在
从.\u tqdm导入tqdm
文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site packages/tqdm/_tqdm.py”,第75行,在
mp_lock=mp.RLock()#多处理锁
AttributeError:模块“多处理”没有属性“RLock”

感谢您的帮助

您使用的是Python 3.7,但请求html的github声明(页面底部)。当我尝试使用Python3.7时,我会遇到各种可怕的错误,但3.6工作正常。所以,我知道这似乎很奇怪,但请尝试使用3.6


即使如此,正如@georgexsh所说,在3.7中,仍然应该有一个
RLock
可从
multiprocessing
导入,因此看起来您的错误实际上可能是您的一个代码文件名为
multiprocessing.py
,或者您有自己的名为
multiprocessing
的包(因此,您正在导入该模块,而不是您想要的模块)。

您的项目中有一个名为
多处理
的模块。我没有在我的项目中创建任何
多处理
模块检查多处理。我想这可能有点帮助(使用3.6.6)虽然现在该程序导入失败,因为来自多处理器导入simpleQueue的
抛出了一个
导入错误:无法导入名称simpleQueue
(我可能会发布另一个与此相关的问题)@S.Allen,这应该是来自多处理导入SimpleQueue的
对不起,这对我来说是
多处理
,我应该使用ctrl-c/v。我还尝试重新安装多处理,但没有任何效果。@S.Allen我真的怀疑您的路径中有另一个名为多处理的模块。如果您使用
multiprocessing
作为
a_模块
降低此处的说明?我确实这样做了,解决了问题。不知何故,我设法避免了在当前工作目录中向下滚动,其中有一个
multiprocessing.py
文件,谢谢。