Как сделать окружение

Добавил пользователь Валентин П.
Обновлено: 04.10.2024

Основной целью на 2021 год я поставила саморазвитие. Начав менять внутреннее состояние я также осознала, что пора менять и свое окружение.

Если взять 5-6 людей, которые входят в ваш близкий круг общения, объединить их уровень жизни, прировнять к единому знаменателю — это и есть вы.

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

Февраль становится месяцем новых знакомств, выгодных контактов и тщательного отбора.

Ниже делюсь пошаговым планом, результатом и полезными ссылками на сообщества и чаты.

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

Что представила я:

— Атмосфера предпринимательства. Однозначно в моем новом окружении должны быть люди, развивающие собственный бизнес, еще лучше если не один и не впервые;

— Единомышленники. Общий взгляд на мир, схожие ценности и приоритеты.

— Акулы. Авторитеты в тех нишах, в которых развиваю свой бизнес я — маркетинг, продажи, коучинг. Эксперты, признанные таковыми общественностью, действительно крупные бизнесмены и высокооплачиваемые специалисты.

Формула Томаса Дж. Леонарда — основал Международную ассоциацию сертифицированных коучей (International Association of Certified Coaches)

Самое сложное позади, это правда! Скажем спасибо коронавирус и тому, что все бизнес-тусовки перешли в online формат.

Итак, как найти на просторах интернета необходимое окружение:

Открываем Telegram и ищем профильные, интересующие нас сообщества. Ищем по ключевым словам, геолокации .

Например — Предприниматели Санкт-Петербурга/Москвы/Екб и т.п. (Да, это работает!))

Дополнительно можно поискать чаты от различных образовательных курсов, компаний. У них зачастую есть открытые каналы для коммуникации, где вы точно найдете единомышленников.

Делюсь своим Топом полезных, активных каналов и БОТОВ в Telegram:

2. Боты — @randomcoffeebiz_bot Бот просит каждого заполнить мини анкету о себе, далее присылает каждую пятницу вам подходящего собеседника. Люди из разных городов и стран, в основном это предприниматели, маркетологи, эксперты.

Благодарю боту я уже нашла прекрасного эксперта, с которым планируем эфир по теме ресурса на след. неделе (следите за анонсом на моей основной странице в Вк и Inst)

Помимо вышеперечисленных чатов я также состою в закрытых сообществах по интересам, или в группе участников с оплаченных профильных курсов.

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

Вцелом эти же советы применимы и к чатам во Вконтакте — искать по своим интересам, высматривать приглашения в сообщество на личных аккаунтах интересующих вас экспертов.

Мастермайнд клубы, закрытые клубы.

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

Подобных клубов действительно очень много, выбрать подходящий можно ориентируясь на ценности которые транслирует закрытое сообщество, просмотреть участников, отзывы, мероприятия. Найти такие клубы можно по ключевым словам хоть в глобальном поиске, хоть в пёсике Инстаграм.

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

Сегодня я приобрела тестовый период в клубе от компании Unit — основатель Михаил Дашкиев. Предложение тестовое, длится всего неделю, однако подход и организация весьма серьезный.

Это современная бизнес-школа, у них несколько обучающих программ, в частности я проходила небольшой курс по открытию кофейни :)

Также у них есть закрытый Инстаграм аккаунт, подписку на который я и оформила на месяц, начнется она с завтрашнего дня. Таким образом я получу доступ к интересному и важному для меня контенту, а также к окружению с которым у меня есть общий интерес — бизнес.

Отдельно рекомендую всем периодически записываться на диагностики и бесплатные консультации у интересующих вас экспертов, коучей и специалистов! Это не совсем нетворкинг, однако польза 1000%.

Добавим ко всему вышеперечисленному беседы в новой соц сети Club House и получим жгучую смесь из общения с новым, полезным и интересным окружением! PROFIT

Продолжаем серию “ Python .Уроки”. На этот раз мы изучим, что такое виртуальные окружения в Python , зачем они нужны и как их использовать. Познакомимся с инструментами virtualenv и venv для создания виртуальных окружений.

Что такое виртуальное окружение и зачем оно нужно?

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

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

Во-вторых : может возникнуть необходимость в том, чтобы запретить вносить изменения в приложение на уровне библиотек, т.е. вы установили приложение и хотите, чтобы оно работало независимо от того обновляются у вас библиотеки или нет. Как вы понимаете, если оно будет использовать библиотеки из глобального хранилища ( /usr/lib/pythonXX/site-packages ), то, со временем, могут возникнуть проблемы.

В-третьих : у вас просто может не быть доступа к каталогу /usr/lib/pythonXX/site-packages .

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

ПО позволяющее создавать виртуальное окружение в Python

Программное обеспечение, которое позволяет создавать виртуальные окружения в Python можно разделить на те, что входят в стандартную библиотеку Python и не входят в нее. Сделаем краткий обзор доступных инструментов (хороший пост на эту тем есть на stackoverflow ).

Начнем с инструментов, которые входят в PyPI . Если кто не знает PyPI – это Python Package Index ( PyPI ) – репозиторий пакетов Python , доступный для любого разработчика и пользователя Python ( ).

Это, наверное, одни из самых популярных инструментов, позволяющих создавать виртуальные окружения. Он прост в установке и использовании. В сети довольно много руководств по virtualenv , самые интересные, на наш взгляд, будут собраны в конце урока в разделе “Полезные ссылки”. В общем, этот инструмент нужно обязательно освоить, как минимум, потому что описание развертывания и использования многих систем, созданных с использованием Python , включает в себя процесс создания виртуального окружения с помощью virtualenv .

Инструмент для изоляции версий Python . Чаще всего применяется, когда на одной машине вам нужно иметь несколько версий интерпретатора для тестирования на них разрабатываемого вами ПО.

virtualenvwrapper

Virtualenvwrapper – это обертка для virtualenv позволяющая хранить все изолированные окружения в одном месте, создавать их, копировать и удалять. Предоставляет удобный способ переключения между окружениями и возможность расширять функционал за счет plug-in ’ов.

Существуют ещё инструменты и plug-in ’ы, выполняющие работу по изоляции частей системы Python , но мы их не будем рассматривать.

Инструменты, входящие в стандартную библиотеку Python .

Этот модуль появился в Python3 и не может быть использован для решения задачи изоляции в Python2 . По своему функционалу очень похож на virtualenv . Если вы работаете с третьим Python , то можете смело использовать данный инструмент.

virtualenv

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

Установка virtualenv

Virtualenv можно установить с использованием менеджера pip (ссылка на статью), либо скачать исходные коды проекта и установить приложение вручную.

Установка с использованием pip.

Для установки virtualenv откройте консоль и введите следующую команду:

Установка из исходного кода проекта.

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

Введите в консоли следующий набор команд:

X.X – это версия приложения, ее вам нужно знать заранее.

Если использовать ключевое слово sudo , инструмент будет установлен глобально, в противном случае – локально.

Мы рекомендуем вам использовать pip для установки virtualenv .

Создание виртуального окружения

Виртуальное окружение создается следующей командой:

PRG1 в данном случае – это имя окружения.

После выполнения данной команды, в текущем каталоге будет создан новый каталог с именем PRG1 . Разберем более подробно его содержимое.

RPG1/bin/ – содержит скрипты для активации/деактивации окружения, интерпретатор Python , используемый в рамках данного окружения, менеджер pip и ещё несколько инструментов, обеспечивающих работу с пакетами Python . В Windows, это каталог PRG1\Scripts

PRG1/include/ и PRG1/lib/ – каталоги, содержащие библиотечные файлы окружения. Новые пакеты будут установлены в каталог PRG1/lib/pythonX.X/site-packages/ .

Активация виртуального окружения

Для активации виртуального окружения воспользуйтесь командой (для Linux ):

для Windows команда будет выглядеть так:

Команда source выполняет bash- скрипт без запуска второго bash- процесса.

Если команда выполнилась успешно, то вы увидите, что перед приглашением в командной строке появилась дополнительная надпись, совпадающая с именем виртуального окружения.

virtual environment

При этом в переменную окружения PATH , в самое начало, будет добавлен путь до директории bin , созданного каталога RPG1 .

Если вы создадите виртуальное окружение с ключем –system-site-packages :

то в рамках окружения PRG1 вы будите иметь доступ к глобальному хранилищу пакетов:

    • в Linux : /usr/lib/pythonX.X/site-packages
    • в Windows : \PythonXX\Lib\site-packages

    Деактивация виртуального окружения

    Для деактивации виртуального окружения (выхода из него), введите команду deactivate для Linux или deactivate.bat , если вы работаете в Windows .

    virtual environment deactivate

    venv

    Устанавливать venv не нужно, т.к. он входит в стандартную библиотеку Python . Т.е. если вы установили себе Python , то venv у вас уже есть. Помните, что venv работает только в Python3 !

    Создание виртуального окружения

    Для создания виртуального окружения с именем PRG2 с помощью venv выполните следующую команду:

    В результате будет создан каталог PRG2 со структурой похожей на ту, что была описана для virtualenv . Функциональное назначение каталогов тоже самое.

    Активация виртуального окружения

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

    Деактивация виртуального окружения

    Деактивация выполняется командой deactivate (работает как в Windows, так и в Linux )

    Полезные ссылки

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

    P.S.

    Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

    Библиотека программиста — ваш источник образовательного контента в IT-сфере. Мы публикуем обзоры книг, видеолекции и видеоуроки, дайджесты и образовательные статьи, которые помогут вам улучшить процесс познания в разработке.

    Работаете с несколькими проектами на Python? С этим руководством вы не потонете в зависимостях. Рассказываем, как работать с виртуальным окружением с помощью pipenv и Anaconda.

    Как создать виртуальное окружение в Python и перестать думать о зависимостях

    Если вы работаете над несколькими проектами одновременно, требующими разные версии Python и/или разные версии библиотек, то с помощью виртуального окружения можно создать изолированный контейнер с нужными версиями под каждую задачу.

    В этой статье мы рассмотрим два варианта создания виртуального окружения: 1) при помощи Anaconda — дистрибутива c предустановленными популярными библиотеками, которым часто пользуются специалисты по работе с Big Data и 2) компактной библиотеки pipenv.

    1. Pipenv

    Pipenv – это инструмент, предоставляющий все необходимые средства для создания виртуального окружения. Он управляет пакетами проекта через файл pipfile , работающий как замена requirement.txt .

    В качестве терминала в Windows возьмем на вооружение Git Bash, в MacOs – Homebrew, в Ubuntu – стандартный терминал.

    1.1. Установка Pipenv

    Создадим проект, используя команду mkdir new-project , которая создает папку с именем проекта new-project и перейдем в нее при помощи команды cd :

    Для установки pipenv пользователи Windows могут ввести следующую команду:

    pip install pipenv

    brew install pipenv

    pip3 install pipenv

    1.2. Создание виртуального окружения

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

    1.3. Установка и удаление пакетов

    В качестве примера установим пакеты requests и flask :

    pipenv install requests

    pipenv install flask

    В качестве примера удалим пакет flask :

    pipenv uninstall flask

    1.4. Выход из виртуального окружения

    Для деактивации текущего окружения применим команду exit

    2. Anaconda

    У Anaconda свой менеджер разрешения зависимостей – conda, заменяющий стандартный менеджер пакетов pip . Также есть возможность создавать несколько изолированных окружений, чем сейчас и займемся.

    2.1. Установка Anaconda

    На сайте Anaconda выберите нужную ОС, версию Python, скачайте дистрибутив и установите Anaconda.

    Забегая чуть вперед, если необходимо обновить Anaconda, откройте Anaconda Promt и введите команду conda update conda .

    Существует два варианта запуска виртуального окружения:

    • Через графический интерфейс Anaconda Navigator.
    • Через командную строку Anaconda Promt.

    В этом руководстве используется ОС Windows, но в других ОС процесс создания виртуального окружения такой же.

    2.2. Создание окружения в Anaconda Prompt

    Нажмите на иконку Windows, в поле поиска введите Anaconda Prompt , а затем нажмите Enter , чтобы открыть ее.

    Введите команду conda , чтобы проверить успешность установки и ознакомиться с основными командами.

    2.2.1. Создание виртуального окружения

    В следующей команде -n – флаг, создающий новое окружение с именем env и определенной версией Python 3.7

    conda create -n env python=3.7

    2.2.2. Активация окружения

    conda activate env

    2.2.3. Установка пакетов

    Установим numpy через менеджер conda:

    conda install -n env numpy

    2.2.4. Список установленных пакетов

    Посмотрим, какие пакеты установлены в виртуальном окружении:

    Как создать виртуальное окружение в Python и перестать думать о зависимостях

    2.2.5. Список всех виртуальных окружений

    Список всех созданных окружений выводится командой conda env list :

    Как создать виртуальное окружение в Python и перестать думать о зависимостях

    2.2.6. Деактивация виртуального окружения

    Следующая команда деактивирует текущее окружение env и изменит его на base :

    2.2.7. Удаление виртуального окружения

    Удалим виртуальное окружение env со всеми его пакетами:

    conda env remove -n env

    Убедимся, что окружение удалено, открыв список окружений:

    2.3. Создание окружения в Anaconda Navigator

    Повторите шаги по установке виртуальной среды env

    1. Нажмите на иконку Windows, в поле поиска введите Anaconda Navigator , а затем нажмите Enter .

    2. Выберите вкладку Environments , где показано виртуальное окружение по умолчанию — base и созданная нами env .

    3. Нажмите Create и заполните поля, как показано на картинке ниже.

    Packages: Python 3.7

    4. Перейдите в new-env , выберете All и установите нужный пакет. В нашем случае — numpy .

    5. Поменяйте текущее виртуальное окружение, например, на env .

    Мы разобрали два способа создания виртуального окружения: через компактный pipenv и с помощью среды Anaconda. Научились создавать, активировать и деактивировать виртуальные окружения и ставить в них пакеты. Теперь есть где писать чистый код!

    В предыдущей статье была затронута тема менеджмента коллекций, как лучше всё разложить по полочкам и какие виды коллекций можно создать. Также коснулись темы импорта и экспорта. Эта статья расскажет вам, как сделать предустановки для запросов, как менять окружения, на которые будут отправляться запросы. Рассмотрим способ предавторизации перед запросом, а также попробуем разобраться с инкрементом значений в теле запроса.

    Обычно у проекта есть несколько окружений, как минимум dev + production, в лучшем случае — больше. И существуют ситуации, когда API следует протестировать на нескольких окружениях, но есть ли смысл создавать коллекции под каждое окружение? В случае с Postman — нет, так как там существует поддержка окружений (environments).

    • Во-первых, нажать на иконку шестеренки в правом верхнем углу интерфейса клиента.
    • Далее нужно создать окружение кликнув на кнопку “Add” (или если никаких окружений ещё не добавлено, кликнуть на надпись “Create an environment”)
    • На экране добавления окружения следует назвать новое окружение

    Готово, окружение создано. Чтобы его использовать, необходимо иметь уже готовую коллекцию с заполненными запросами. Покажу всё на той же коллекции запросов к API Postman-Echo.

    • Выбрать любой из запросов. Пусть это будет “GET request” из папки “Request Methods”
    • В правом верхнем углу выбрать нужное окружение

    (на Postman-Echo нет тестового окружения в открытом доступе, поэтому окружение “QA” в списке для наглядности)

    • После выбора окружения следует указать в URL запроса переменную, которую мы указывали при создании окружения. (Под цифрой “2”) А именно > через двойные фигурные скобки.
    • Выполнив запрос кнопкой “Send”, можно убедиться, что окружение настроено правильно и приходит верный ответ.

    Также можно установить любое другое предустановленное окружение (Development, QA и т.д), нужно только выбрать его в правом верхнем выпадающем меню и изменить переменную, которая будет подставлять нужный Base URL.

    Настало время разобраться с тем, как установить значения для логина пользователя без запроса на логин. В предыдущей статье про менеджмент коллекций в списке запросов были постоянно повторяющиеся запросы “Login”. Рассмотрим, как установить авторизацию перед выполнением любого запроса, без постоянных запросов Login.

    Представим, есть запрос на получение информации о пользователе. Сам запрос представляет из себя схему GET->URL без всяких Params, в которых иногда можно прописывать Username и Password. В нашем случае в “Params” эти переменные отсутствуют. Залогиниться в таком случае поможет вкладка “Authorization”.

    При переключении на эту вкладку сразу видно, какой тип авторизации будет использован. В основном логин происходит либо по Token, либо по связке Username — Password (что в итоге тоже приводит к получению токена, но архитектура API может работать по-разному). В примере авторизация будет успешной по связке Username — Password. В левой части окна нужно выбрать тип “Basic Auth” и в правой части указать валидные Username и Password. После ввода этих данных и нажатия на кнопку “Preview Request”, получившийся token подставится во вкладку Headers и будет доступен. После этого, можно отсылать запрос и получить информацию о пользователе.

    Теперь во всех запросах этой коллекции будет предустановлен полученный token при предавторизации.

    Рассмотрим вид авторизации по токену. Он мало чем отличается от предыдущего метода, но для него нам предварительно понадобится получить токен пользователя через отдельный Login запрос.

    - Выполнить запрос Login для получения токена

    Теперь в любом другом запросе, где нужно, чтобы пользователь был изначально залогинен, во вкладке Authorization нужно выбрать тип авторизации — bearer token, ну а справа ввести тот токен, который был получен в запросе авторизации.

    Запрос на авторизацию так же будет происходить перед выполнением основного запроса, как и в случае с введенными Username + Password. Остальные типы авторизации работают примерно по такому же сценарию.

    Есть задача: создать кучу аккаунтов, но разных, чтобы не повторялась почта пользователя. Как сделать так, чтобы вручную каждый запрос не редактировать под свою задачу, а за один прогон сразу создать 10 аккаунтов с разной почтой? В этом поможет такая функциональность Postman, как Collection Runner, который из таблицы .CSV будет брать заранее прописанные данные.

    • Вынесем нужный запрос в отдельную коллекцию, которую я назвал “Effective”:
    • После этого, нужно создать .CSV файл. По сути, можно сделать это через google.docs или старый добрый Excel. В первой ячейке столбца нужно написать ту переменную, которую мы будем передавать в body запроса (об этом позже) и далее нужно указать значения, которые нужно подставлять при каждом следующем запросе. Если это 10 e-mail адресов, указывайте 10 разных e-mail адресов, если цифры — тогда цифры и так далее. Я указываю в первой строке название переменной “Effective”, и ниже идут 10 значений, которые будут подставляться по очереди. В каждой итерации запроса — новое значение для подстановки:
    • После этого, во вкладке “raw”, вместо дефолтного текста нужно подставить переменную > такого вида. В моём случае эта переменная будет >, т.к. в таблице .CSV первая строчка в столбце называется именно так. Помимо этого, нужно в формате данных указать JSON (либо на вкладке headers указать “content-type: application/json” вместо “content-type: text/plain”) + после этого нужно сохранить измененный запрос кнопкой “Save”.
    • Далее нужно выбрать свою коллекцию: в правой части нажать на кнопку “>” (1) и нажать на кнопку “Run” (2)
    • Откроется Postman Collection Runner. На экране раннера в поле “Data” нужно выбрать тот самый .CSV файл, который был создан ранее. При этом количество итераций автоматически изменится на то количество строк, которое есть в документе. (Первая строка не берётся в расчёт, т.к. это название переменной, и только после неё идут значения для подстановки). Также можно указать задержку (Delay) между запросами, если это требуется.

    Если всё сделать верно, все 10 итераций пройдут успешно. Тут можно добавить, что количество итераций, если выбирать их вручную, должно быть равно количеству строк в .CSV документе, иначе прогон не запустится. Открыв Request Body можно увидеть, что все body в запросах были разными, следовательно один запрос был отправлен много раз с разными данными. Также можно добавить невалидные данные для негативных проверок, т.е. вместо условного e-mail указать символы, текст и т.д. и посмотреть, как сервер отреагирует на данные, которые он не ожидает увидеть. Это можно использовать в большом количестве ситуаций, всё зависит от вашего настроя и желания.

    Спасибо за прочтение статьи. Рекомендую ознакомиться с предыдущими статьями на тему Postman:

    Я надеюсь, эти статьи помогут тебе в дальнейшем развитии в тестировании API. Успехов!

    Читайте также: