Еще одна тема, которая периодически будет появляться на страницах этого сайта, — это тема, связанная с программированием. Дело в том, что я уже много лет пытаюсь встать на путь исполнения своей мечты, а именно научиться программировать, а точнее решать полезные задачи, используя языки программирования и связанные с этим инструменты.
Не знаю, насколько меня хватит в этот раз, но все предыдущие попытки закончились ничем. Это немного другая история, но к ней я обязательно вернусь. В любом случае, я ничего не теряю, попытка не пытка!
Сегодня я хочу рассказать о том, как я искал решение проблемы, с которой столкнулся в ходе обучения программированию на языке Python.
Кратко о проблеме: не получалось добавить новую библиотеку (пакет), в моем случае — requests в редакторе кода Visual Studio Code.
Скажу честно, после многократных попыток подключить нужную библиотеку у меня ничего не получилось. Я выключил компьютер и пошел с семьей на прогулку.
После того, как я вечером вновь сел за компьютер, все заработало. Я менял разные папки. Даже удалил VS Code, подчистил после него мусор и установил все заново. Но ошибка не повторилась.
Библиотека requests подключалась нормально, а подготовленный код запускался.
Мне пока сложно дать оценку происходящему, но проблема была скорее в том, что на глобальном уровне VS Code почему-то не видел установленные в интерпретаторе пакеты.
При стандартном методе добавления библиотеки import requests имя библиотеки редактор подчеркивал, а при запуске кода в terminal выводилась следующая ошибка:
Traceback (most recent call last):
File «d:\BKS.Lab\python\PythonTest\hello.py», line 1, in <module>
import requests
ModuleNotFoundError: No module named ‘requests’
Таким образом, не смотря на то, что данная библиотека установлена на глобальном уровне, так как в PyCharm я ее легко добавляю, и она работает, но VS Code ее не хочет видеть.
А что на это говорит Google?
А Google говорит, что лучше всего создавать виртуальное окружение в той папке, в которой идет работа, и уже туда устанавливать необходимые библиотеки. На первый взгляд все просто, но не для меня, новичка.
Как я понял, основной задачей виртуального окружения является создание изолированного пространства, за пределы которого разработка не выходит. Это позволяет использовать разные версии сторонних библиотек и пакетов на одном компьютере и работать с ними из одного редактора.
Создание виртуального окружения
В интернете я нашел следующие команды, которые следует вводить в командной строке.
python3 -m venv –help #команда используется для проверки наличия пакета venv. В последних версиях интерпретатора пакет venv уже установлен, поэтому дополнительно ставить его не требуется.
python
-m venv env_bksTest #создание виртуальной среды. В моем случае будет создана папка с именем env_bksTest. В этой папке устанавливается копия интерпретатора, а также стандартные библиотеки.
Ниже представлен скриншот содержания папки env_bksTest.
Пишут, что еще нужна команда для активации виртуальной среды, но у меня она с первого раза не сработала: env_bksTest\scripts\activate
В результате обработки запроса получил вот такую ошибку:
PS D:\BKS.Lab\python\dev_test> env_bksTest\scripts\activate
env_bksTest\scripts\activate: Невозможно загрузить файл D:\BKS.Lab\python\dev_test\env_bksTest\scripts\Activate.ps1, так как выполнение сценариев отключено в этой системе.
Для получения дополнительных сведений см. about_Execution_Policies по адресу https:/go.microsoft.com/fwlink/?LinkID=135170.
строка:1 знак:1
+ env_bksTest\scripts\activate
+ CategoryInfo: Ошибка безопасности: (:) [], PSSecurityException
+ FullyQualifiedErrorId: UnauthorizedAccess
Для того чтобы исправить ошибку, необходимо:
- от имени администратора запустить Power Shell;
- ввести команду Set-ExecutionPolicy RemoteSigned;
- для ответа нажать клавишу [A];
- вновь ввести команду в Terminal env_bksTest\scripts\activate
Дальше все просто.
Если нужного пакета в стандартном наборе интерпретатора нет, то его необходимо добавить следующей командой: python -m pip install matplotlib
(matplotlib – имя подключаемой библиотеки)
Давайте подключим еще библиотеку requests:
python -m pip install requests
После того, как работа с виртуальным окружением будет закончена, следует его отключить консольной командой deactivate.
Если вы вновь хотите работать с директорией, в которой установлено виртуальное окружение, не забывайте его активировать.
Уфф… Как это все не просто, но ничего, буду стараться вникать. Еще почитаю про виртуальные окружения и потренируюсь их создавать.
Всем успехов в делах и учебе.
Если есть желание обсудить эту тему или вы нашли ошибки в статье, добро пожаловать в мой Telegram канал, где в комментариях к этой публикации вы можете написать все, что думаете.