AttributeError: модуль 'copy' не имеет атрибута 'deepcopy'

1

Я на самом деле новичок в Python и BS4. И я решил создать скрипт, который будет очищать веб-сайт oscarmini.com, если быть точным, код работал нормально до сегодняшнего дня, когда я хотел его изменить, я все время получаю ошибки, в небольшом знании, которое я имею об исключениях и ошибках, нет ничего плохого в коде, который, по-видимому, связан с импортом модуля "bs4".

from bs4 import BeautifulSoup as BS
import requests
url = 'https://oscarmini.com/2018/05/techfest-2018.html'
page = requests.get(url)
soup = BS(page.text, 'lxml')
mydivs = soup.find("div", {"class": "entry-content"})
soup.find('div', id="dpsp-content-top").decompose()
print(mydivs.get_text())
input()

Ниже приведено сообщение об ошибке.

Traceback (most recent call last):
    File "C:/Users/USERNaME/Desktop/My Programs/Random/Oscarmini- 
Scrapper.py", line 1, in <module>
    from bs4 import BeautifulSoup as BS
File "C:\Users\USERNaME\AppData\Local\Programs\Python\Python36-32\lib\site-packages\bs4\__init__.py", line 35, in <module>
    import xml.etree.cElementTree as default_etree
File ":\Users\USERNaME\AppData\Local\Programs\Python\Python36-32\lib\xml\etree\cElementTree.py", line 3, in <module>
    from xml.etree.ElementTree import *
File "C:\Users\USERNaME\AppData\Local\Programs\Python\Python36-32\lib\xml\etree\ElementTree.py", line 1654, in <module>
    from _elementtree import *
AttributeError: module 'copy' has no attribute 'deepcopy'

Process finished with exit code 1

Пожалуйста, мне действительно нужна помощь в этом.

  • 0
    У вас случайно есть файл "copy.py" в вашем текущем каталоге?
  • 0
    Где я на самом деле ищу файл "copy.py"? Потому что я не могу найти его в папках xml или xml / etree
Показать ещё 4 комментария
Теги:
beautifulsoup
elementtree

1 ответ

0

Я столкнулся с той же проблемой. И, наконец, я обнаружил, что проблема в том, что у меня есть еще один сценарий с именем copy.py и он copy.py исходный модуль copy.

Вы можете показать реальный путь для модуля копирования с print(copy.__file__) непосредственно перед возникновением исключения и посмотреть, предназначено ли оно.

Вы также можете перечислить переменную окружения PATHONPATH с помощью: print(os.environ['PYTHONPATH'].split(os.pathsep)) непосредственно перед строкой, которая вызывает исключение, и посмотрите, есть ли что-то неожиданное.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню