Ошибка c импортом библиотеки в PyCharm Telebot
Import pyTelegramBotAPI in venv
В этой статье разберемся с импортом и виртуальной средой. Для начала разберемся со стандартным импортом и возможной ошибки в нем.
Стандартный import в Python, когда подчеркивает красным
При создании чат-бота в начале работы, с использованием библиотеки pyTelegramBotAPI, сразу PyCharm подчеркивает красным “import telebot”, т.е. PyCharm не видит telebot, соответственно нужно подгрузить данную библиотеку.
Как добавить в PyCharm Telebot
Логично данную библиотеку pyTelegramBotAPI, сразу подгрузить в PyCharm. Можно сразу нажать на подчеркнутое слово и подсказки PyCharm предложат установить эту библиотеку, часто так и поступают. Но тут надо быть осторожнее, т. к. библиотек существует великое множество (что является огромным плюсом самого питона) и импорт некоторых библиотек могут быть одинаковыми, от этого можно на ровном месте получить проблему, иногда которую приходится долго искать.
Например у библиотек pyTelegramBotAPI и Telebot импорт вызывается одной и той же командой “import telebot”.
Но перед импортом нужно установить нужную библиотеку (хотя, лучше начать с активации виртуальной среды, об этом написано далее).
Еще добавим что существуют другие библиотеки для создания чат ботов. Например, по ссылке, можете ознакомится с ChatterBot и aiogram.
Способы установки библиотеки в PyCharm
Как установить Telebot в PyCharm, это можно сделать несколькими способами, чаще используют 2 варианта:
1. В Терминале PyCharm через pip install прописать команду:
pip install pyTelegramBotAPI
(подробнее про pip install можете ознакомиться в отдельной статье)
2. В меню PyCharm выбрать File -> Settings…
3. Далее во вкладке Python Interpreter все наши установленные пакеты в глобальной или виртуальной среде, в зависимости какую мы выбрали при создании проекта
4. Нажимаем “+” находим требуемую библиотеку, и устанавливаем с помощью кнопки “Install Package”.
После установки, видим как проблема осталась.
Активация виртуальной среды Virtualenv
Далее проверим и активируем виртуальную среду venv.
Заходим снова в терминал PyCharm и посмотрим какие папки и файлы есть в нашем проекте и пропишем команду:
ls
Активировать можем следующей командой:
venv/scripts/activate
Либо сначала перейдем в папку и активируем там:
cd venv ./scripts/activate
Если вышла ошибка и у вас стоит запрет на выполнение сценариев, нужно открыть разрешение в среде Windows PowerShell.
Как разрешить в Windows выполнение скриптов PowerShell
Изначально политика выполнения скриптов запрещает выполнять подобные скрипты в PyCharm.
Итак, откроем PowerShell.
В Windows нажмем сочетание кнопок Windows + R и напишем в окне “PowerShell” и нажмем OK.
Запустится, непосредственно, сам PowerShell.
Узнаем текущее значение политики:
Get-ExecutionPolicy
У меня стоит значение:
Restricted
Чтобы разрешить выполнение нашего требуемого скрипта, выполните команду:
Set-ExecutionPolicy unrestricted
Выберите требуемое разрешение, я выбрал “A” это полное, и введите “Y”.
В итоге активировалась наша виртуальная среда Virtualenv, обратите внимание на начало строки терминала: (venv) в скобках
Прописываем путь в виртуальной среде Virtualenv в PyCharm
Теперь осталось нам подвязать путь к виртуальной среде, чтобы все заработало.
В меню PyCharm выбрать File -> Settings…
во вкладке Python Interpreter, нажимаем на выбранный интерпретатор (как на скрине ниже)
и выбираем пункт Show All…
Откроется следующее окно:
Выбираем этот значок путь:
В открывшемся окне Interpreter Paths, добавляем путь с помощью “+” к нашей виртуальной среде: Можно подвязать например путь к папке Lib и venv
Вопрос с ошибкой импорта решен. Что подтверждает скрин ниже: