Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AttributeError: module 'collections' has no attribute 'Callable' #80

Open
Leprech opened this issue Aug 6, 2022 · 7 comments
Open

AttributeError: module 'collections' has no attribute 'Callable' #80

Leprech opened this issue Aug 6, 2022 · 7 comments

Comments

@Leprech
Copy link

Leprech commented Aug 6, 2022

Hey,
i tried to run but I have an AttributeError.

Traceback (most recent call last):
File "/root/CloudFail/cloudfail.py", line 307, in
dnsdumpster(args.target)
File "/root/CloudFail/cloudfail.py", line 84, in dnsdumpster
res = DNSDumpsterAPI(False).search(target)
File "/root/CloudFail/DNSDumpsterAPI.py", line 71, in search
soup = BeautifulSoup(req.content, 'html.parser')
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 228, in init
self._feed()
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 289, in _feed
self.builder.feed(self.markup)
File "/usr/local/lib/python3.10/dist-packages/bs4/builder/_htmlparser.py", line 215, in feed
parser.feed(markup)
File "/usr/lib/python3.10/html/parser.py", line 110, in feed
self.goahead(0)
File "/usr/lib/python3.10/html/parser.py", line 178, in goahead
k = self.parse_html_declaration(i)
File "/usr/lib/python3.10/html/parser.py", line 269, in parse_html_declaration
self.handle_decl(rawdata[i+2:gtpos])
File "/usr/local/lib/python3.10/dist-packages/bs4/builder/_htmlparser.py", line 160, in handle_decl
self.soup.endData(Doctype)
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 365, in endData
self.object_was_parsed(o)
File "/usr/local/lib/python3.10/dist-packages/bs4/init.py", line 370, in object_was_parsed
previous_element = most_recent_element or self._most_recent_element
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1054, in getattr
return self.find(tag)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1292, in find
l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1313, in find_all
return self._find_all(name, attrs, text, limit, generator, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 528, in _find_all
strainer = SoupStrainer(name, attrs, text, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1610, in init
self.text = self._normalize_search_value(text)
File "/usr/local/lib/python3.10/dist-packages/bs4/element.py", line 1615, in _normalize_search_value
if (isinstance(value, str) or isinstance(value, collections.Callable) or hasattr(value, 'match')
AttributeError: module 'collections' has no attribute 'Callable'

@CristianoJFC
Copy link

Try replace "collections.Callable" to "collections.abc.Callable", i dont know if this fix.

@KristianGonzalez84
Copy link

KristianGonzalez84 commented Aug 9, 2022

yes it works, changing it from collections > collections.abc.Callable, lots of mistakes with codings in here, but I use my time to perfect it ;)

@benborges
Copy link

Hi, Can you say which line of which file to change please ?

@OkaVatti
Copy link

/usr/local/lib/python3.10/dist-packages/bs4/element.py is the file for those wondering. changing each instance of collections.Callable mostly fixes the issue.

@lazypwny751
Copy link

hi, i have the same problem, but this is how i solved it, change the lines at socks.py:
(63 and 66)

try:
    from collections.abc import Callable
except ImportError:
    from collections import Callable

to

import collections

collections.Callable = collections.abc.Callable
Callable = collections.Callable

@garrinacov
Copy link

Hi @lazypwny751,

Thank you after i change code line (63 and 66) the program is running

@FayjurRahmanRaNa
Copy link

You can find this

collections.Callable

in your
File "/Users/yourid/Desktop/test/venv/lib/python3.11/site-packages/bs4/element.py", line 1238, in find

venv/lib/python3.11/site-packages/bs4/element.py file. and then change it to

collections.abc.Callable

and keep doing it untill the error keeps showing this error for multiple lines in bs4/element.py file.
Once you are done. IT should be working for you. It's working for me. My Python version is 3.11

@github-staff github-staff deleted a comment from jigar-jstechno Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants