Почему не работает set_lang в библиотеке wikipedia?

Выкидывает ошибку:
File "E:\python\echobot\wikipedia.py", line 2, in <module>
    import wikipedia
  File "E:\python\echobot\wikipedia.py", line 9, in <module>
    wikipedia.set_lang("en")
AttributeError: partially initialized module 'wikipedia' has no attribute 'set_lang' (most likely due to a circular import)


import wikipedia
import re

# Устанавливаем русский язык в Wikipedia
wikipedia.set_lang("ru")
# Чистим текст статьи в Wikipedia и ограничиваем его тысячей символов
def getwiki(s):
    try:
        ny = wikipedia.page(s)
        # Получаем первую тысячу символов
        wikitext=ny.content[:1000]
        # Разделяем по точкам
        wikimas=wikitext.split('.')
        # Отбрасываем всЕ после последней точки
        wikimas = wikimas[:-1]
        # Создаем пустую переменную для текста
        wikitext2 = ''
        # Проходимся по строкам, где нет знаков «равно» (то есть все, кроме заголовков)
        for x in wikimas:
            if not('==' in x):
                    # Если в строке осталось больше трех символов, добавляем ее к нашей переменной и возвращаем утерянные при разделении строк точки на место
                if(len((x.strip()))>3):
                   wikitext2=wikitext2+x+'.'
            else:
                break
        # Теперь при помощи регулярных выражений убираем разметку
        wikitext2=re.sub('\([^()]*\)', '', wikitext2)
        wikitext2=re.sub('\([^()]*\)', '', wikitext2)
        wikitext2=re.sub('\{[^\{\}]*\}', '', wikitext2)
        # Возвращаем текстовую строку
        return wikitext2
    # Обрабатываем исключение, которое мог вернуть модуль wikipedia при запросе
    except Exception as e:
        return 'В энциклопедии нет информации об этом'
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Не называйте свой скрипт одинаково с именем импортируемых модулей.

https://qna.habr.com/search?q=most+likely+due+to+a...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы