Ошибка c импортом библиотеки в PyCharm Telebot
Import pyTelegramBotAPI in venv
В этой статье разберемся с импортом и виртуальной средой. Для начала разберемся со стандартным импортом и возможной ошибки в нем.
Стандартный import в Python, когда подчеркивает красным
При создании чат-бота в начале работы, с использованием библиотеки pyTelegramBotAPI, сразу PyCharm подчеркивает красным “import telebot”, т.е. PyCharm не видит telebot, соответственно нужно подгрузить данную библиотеку.
![в python импорт подчеркивает красным](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-823x169-1.jpg)
Как добавить в PyCharm Telebot
Логично данную библиотеку pyTelegramBotAPI, сразу подгрузить в PyCharm. Можно сразу нажать на подчеркнутое слово и подсказки PyCharm предложат установить эту библиотеку, часто так и поступают. Но тут надо быть осторожнее, т. к. библиотек существует великое множество (что является огромным плюсом самого питона) и импорт некоторых библиотек могут быть одинаковыми, от этого можно на ровном месте получить проблему, иногда которую приходится долго искать.
Например у библиотек pyTelegramBotAPI и Telebot импорт вызывается одной и той же командой “import telebot”.
Но перед импортом нужно установить нужную библиотеку (хотя, лучше начать с активации виртуальной среды, об этом написано далее).
Еще добавим что существуют другие библиотеки для создания чат ботов. Например, по ссылке, можете ознакомится с ChatterBot и aiogram.
Способы установки библиотеки в PyCharm
Как установить Telebot в PyCharm, это можно сделать несколькими способами, чаще используют 2 варианта:
1. В Терминале PyCharm через pip install прописать команду:
pip install pyTelegramBotAPI
(подробнее про pip install можете ознакомиться в отдельной статье)
![В Терминале PyCharm через pip install прописать команду](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-708x263-1.jpg)
2. В меню PyCharm выбрать File -> Settings…
![В меню PyCharm выбрать File -> Settings...](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-329x515-1.jpg)
3. Далее во вкладке Python Interpreter все наши установленные пакеты в глобальной или виртуальной среде, в зависимости какую мы выбрали при создании проекта
![кладке Python Interpreter все наши установленные пакеты](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-883x696-1.jpg)
4. Нажимаем “+” находим требуемую библиотеку, и устанавливаем с помощью кнопки “Install Package”.
После установки, видим как проблема осталась.
![После установки, проблема import осталась.](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-1261x557-1.jpg)
Активация виртуальной среды Virtualenv
Далее проверим и активируем виртуальную среду venv.
Заходим снова в терминал PyCharm и посмотрим какие папки и файлы есть в нашем проекте и пропишем команду:
ls
![Заходим в терминал PyCharm и посмотрим какие папки и файлы есть в папке, командой: ls](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-527x229-1.jpg)
Активировать можем следующей командой:
venv/scripts/activate
Либо сначала перейдем в папку и активируем там:
cd venv ./scripts/activate
![Активировать можем следующей командой:
venv/scripts/activate](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-1262x360-1.jpg)
Если вышла ошибка и у вас стоит запрет на выполнение сценариев, нужно открыть разрешение в среде Windows PowerShell.
Как разрешить в Windows выполнение скриптов PowerShell
Изначально политика выполнения скриптов запрещает выполнять подобные скрипты в PyCharm.
Итак, откроем PowerShell.
В Windows нажмем сочетание кнопок Windows + R и напишем в окне “PowerShell” и нажмем OK.
![В Windows нажмем сочетание кнопок Windows + R и напишем в окне "PowerShell"](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-427x230-1.jpg)
Запустится, непосредственно, сам PowerShell.
Узнаем текущее значение политики:
Get-ExecutionPolicy
У меня стоит значение:
Restricted
Чтобы разрешить выполнение нашего требуемого скрипта, выполните команду:
Set-ExecutionPolicy unrestricted
Выберите требуемое разрешение, я выбрал “A” это полное, и введите “Y”.
![Запустится, непосредственно, сам PowerShell](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-1139x340-1.jpg)
В итоге активировалась наша виртуальная среда Virtualenv, обратите внимание на начало строки терминала: (venv) в скобках
![активировалась наша виртуальная среда Virtualenv](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-1260x355-1.jpg)
Прописываем путь в виртуальной среде Virtualenv в PyCharm
Теперь осталось нам подвязать путь к виртуальной среде, чтобы все заработало.
В меню PyCharm выбрать File -> Settings…
во вкладке Python Interpreter, нажимаем на выбранный интерпретатор (как на скрине ниже)
и выбираем пункт Show All…
![В меню PyCharm выбрать File -> Settings...](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-890x423-1.jpg)
Откроется следующее окно:
![Откроется следующее окно:](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-788x669-1.jpg)
Выбираем этот значок путь:
![Выбираем этот значок путь:](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-325x135-1.jpg)
В открывшемся окне Interpreter Paths, добавляем путь с помощью “+” к нашей виртуальной среде: Можно подвязать например путь к папке Lib и venv
![В открывшемся окне Interpreter Paths, добавляем путь с помощью "+"](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-626x483-1.jpg)
Вопрос с ошибкой импорта решен. Что подтверждает скрин ниже:
![Вопрос с ошибкой импорта решен](https://7bd.ru/python/wp-content/uploads/2023/11/вставленное-изображение-800x155-1.jpg)