HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 27.07.2020, 09:45
Proxy n1nja
Участник форума
Регистрация: 05.07.2018
Сообщений: 119
С нами: 4135952

Репутация: 0
По умолчанию



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

Virtualenv - это инструмент для создания изолированных сред для разработки приложений на Python. По своей сути, это программа которая создает папку, где содержаться все необходимые зависимости для проекта на Питончике.

Зачастую использовать виртуальные среды рекомендуется так как при работе с Python приложениями может возникнуть ряд проблем связанных с библиотеками. Например если, приложения могут использовать одну и ту же библиотеку, но разных версий.
Или же вам захочется, чтобы приложение работало на библиотеке конкретной версии, вне зависимости обновляются-ли у вас они или нет. А в некоторых случаях у вас просто может не быть доступа к глобальному хранилищу библиотек. Да, и это просто удобно черт возьми.

На самом деле программ для создания виртуального окружения множество: Pyenv, Venv, Virtualvenvwrapperи множество других. Какие-то из них входят в PyPi (Python Package Index - репозиторий пакетов Python) какие-то нет. Но сегодня мы рассмотрим именно virtualenv, так как это, наверное, один из самых популярных инструментов для создания виртуальных окружений.

Перейдем к установки этого замечательно ПО для операционные системы Linux, под Windows будет все очень похоже, за исключением специфики этой ОС, название каталогов, их расположение и т.д.

Установка с помощью pip:

Код:


Код:
pip install virtualenv
Но так же можно собрать и из исходников:

Bash:


Код:
git
clone https://github.com/pypa/virtualenv
cd
sudo
python setup.py
install


Работа с виртуальным окружением
Создаем виртуальное окружение следующей командой:

Код:


Код:
virtualenv античат
Где античат это имя нашего окружения.
В текущем каталоге будет создана папка с именем виртуального окружения, в данном случае "Codeby", давайте ее рассмотрим.



Внутри папки мы видим файл pyvenv.cfg а так же две директории bin и lib.
В pyvenv.cfg как можно было понять из названия, содержаться настройки для виртуального окружения версия и путь до интерпретатора, версия virtualenv, импортировать ли библиотеки из глобального хранилища, а так же переменные окружения.

В папке bin содержит скрипты для активации или де активации виртуального окружения, интерпретатор Python, используемый в рамках данного окружения, менеджер pip и ещё несколько инструментов, обеспечивающих работу с пакетами.
А в директории lib - библиотечные файлы окружения. Новые пакеты будут установлены в каталог /lib/pythonX.X/site-packages/.

Для активации виртуального окружения выполняем команду:

Код:


Код:
source античат /bin/activate
И если все сделано правильно, вы увидите что перед приглашением в командную строку, появилось имя виртуального окружения.



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

Код:


[CODE]
pip freeze[CODE]

[ATTACH type="full" width="734px" alt="virtualenv_freeze_null.png"]42726[/ATTACH]

Как видим, список библиотек у нас пуст, пополним его установив какую нибудь библиотеку, пускай это будет requests, выполняем команду:
Код:
pip install requests
И снова посмотрим на список библиотек командой:

Код:


Код:
pip freeze


Теперь в нашей изолированной среде есть библиотека requests и ее зависимости.
Для того что бы закончить работу с фантомным окружением нужно выполнить команду:

Код:


Код:
deactivate


Заключение и полезные ссылки
Как вы могли заметить, виртуальное окружение это очень удобный и простой инструмент, который сделает вашу работу и других разработчиков, что будут заниматься поддержкой вашего кода, чуточку проще.
Очень надеюсь что вы узнали для себя что то новое и теперь будете пользоваться этим программным обеспечением.
Так же я оставляю ссылки для того что бы вы могли более подробно изучить инструмент Virutalenv и работу с виртуальными средами:

Официальная документация по virtualenv
Шпаргалка по virtualenv
 
Ответить с цитированием

  #2  
Старый 27.07.2020, 12:21
Shadow User
Новичок
Регистрация: 10.07.2017
Сообщений: 0
С нами: 4654571

Репутация: 0
По умолчанию

А в чем проблема, юзать так: python3 -m venv античат
 
Ответить с цитированием

  #3  
Старый 27.07.2020, 12:40
Proxy n1nja
Участник форума
Регистрация: 05.07.2018
Сообщений: 119
С нами: 4135952

Репутация: 0
По умолчанию

Цитата:

Shadow User сказал(а):

А в чем проблема, юзать так: python3 -m venv античат

вот тут

Цитата:

Shadow User сказал(а):

python3

и вся проблема. Вообще его можно использовать если тебе не нужно поддерживать проекты на Python2.x и venv не копирует в папку виртуального окружения бинарник от питона в отличии от virtualenv.
P.S.
virtualenv вроде как и популярнее, но это ИМХО.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.