Import pyTelegramBotAPI in venv

 В этой статье разберемся с импортом и виртуальной средой. Для начала разберемся со стандартным импортом и возможной ошибки в нем.

Стандартный import в Python, когда подчеркивает красным

При создании чат-бота в начале работы, с использованием библиотеки pyTelegramBotAPI, сразу PyCharm подчеркивает красным “import telebot”, т.е. PyCharm не видит telebot, соответственно нужно подгрузить данную библиотеку.

в python импорт подчеркивает красным

Как добавить в 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 прописать команду

2. В меню PyCharm выбрать File -> Settings…

В меню PyCharm выбрать File -> Settings...

3. Далее во вкладке Python Interpreter все наши установленные пакеты в глобальной или виртуальной среде, в зависимости какую мы выбрали при создании проекта

кладке Python Interpreter все наши установленные пакеты

4. Нажимаем “+” находим требуемую библиотеку, и устанавливаем с помощью кнопки “Install Package”.

После установки, видим как проблема осталась.

После установки,  проблема import осталась.

Активация виртуальной среды Virtualenv

Далее проверим и активируем виртуальную среду venv.

Заходим снова в терминал PyCharm и посмотрим какие папки и файлы есть в нашем проекте и пропишем команду:

ls
Заходим в терминал PyCharm и посмотрим какие папки и файлы есть в папке, командой: ls

Активировать можем следующей командой:

venv/scripts/activate

Либо сначала перейдем в папку и активируем там:

cd venv
./scripts/activate
Активировать можем следующей командой:

venv/scripts/activate

Если вышла ошибка и у вас стоит запрет на выполнение сценариев, нужно открыть разрешение в среде Windows PowerShell.

Как разрешить в Windows выполнение скриптов PowerShell

Изначально политика выполнения скриптов запрещает выполнять подобные скрипты в PyCharm.

Итак, откроем PowerShell.

В Windows нажмем сочетание кнопок Windows + R и напишем в окне “PowerShell” и нажмем OK.

В Windows нажмем сочетание кнопок Windows + R и напишем в окне "PowerShell"

Запустится, непосредственно, сам PowerShell.

Узнаем текущее значение политики:

Get-ExecutionPolicy

У меня стоит значение:

Restricted

Чтобы разрешить выполнение нашего требуемого скрипта, выполните команду:

Set-ExecutionPolicy unrestricted

Выберите требуемое разрешение, я выбрал “A” это полное, и введите “Y”.

Запустится, непосредственно, сам PowerShell

В итоге активировалась наша виртуальная среда Virtualenv, обратите внимание на начало строки терминала: (venv) в скобках

активировалась наша виртуальная среда Virtualenv

Прописываем путь в виртуальной среде Virtualenv в PyCharm

Теперь осталось нам подвязать путь к виртуальной среде, чтобы все заработало.

В меню PyCharm выбрать File -> Settings…

во вкладке Python Interpreter, нажимаем на выбранный интерпретатор (как на скрине ниже)

и выбираем пункт Show All…

В меню PyCharm выбрать File -> Settings...

Откроется следующее окно:

Откроется следующее окно:

Выбираем этот значок путь:

Выбираем этот значок путь:

В открывшемся окне Interpreter Paths, добавляем путь с помощью “+” к нашей виртуальной среде: Можно подвязать например путь к папке Lib и venv

В открывшемся окне Interpreter Paths, добавляем путь с помощью "+"

Вопрос с ошибкой импорта решен. Что подтверждает скрин ниже:

Вопрос с ошибкой импорта решен