- Python — вопрос по переносу виртуального окружения python с Windows на Ubuntu
- 1 ответ 1
- Предисловие
- Создание виртуальной среды
- 1. Установите модуль virtualenv
- 2. Создайте виртуальную среду.
- 3. Запустите виртуальную среду.
- 4. Выйдите из виртуальной среды.
- Перенести виртуальную среду
- 1. Упаковка виртуальной среды
- 1) Создать файл списка модулей
- 2) Скачать модуль
- 2. Миграция виртуальной среды
- Интеллектуальная рекомендация
- Тема интервью цикла событий
- Введение в osgText :: Text
- Встроенный тег Динамический изменение значения SRC, локальный обновить метод игры JavaScript для воспроизведения других видео
- LeetCode Лучшее время для покупки и продажи акций II
- Как настроить python в Linux под свой проект?
- Определение виртуальной среды
- Проверка версии Python
- Обновление пакетов
- Установка пакетов venv
- Создание виртуальной среды в Linux
- Активация виртуальной среды
- Установим библиотеку внутри виртуальной среды
- Совместное использование
- Деактивация
- Заключение
Python — вопрос по переносу виртуального окружения python с Windows на Ubuntu
В Visual Studio Community создан проект python. В рамках проекта создана виртуальная среда средствами VS. Как правильно переносить проекты на Linux? Нужно ли после копирования проекта на Linux заново создавать в папке проекта виртуальную среду с нужной версией python или созданная в VS среда актуальная и просто ее нужно активировать? Требуется ли инсталлировать пакеты перечисленные в requirement.txt?
Нужно заново создавать, потому что в окружении устанавливаются библиотеки именно для текущей системы, а не для всех существующих
Я думаю на счет Docker, но тут тоже не совсем понятно пока. Среда разработки Windows Visual Studio Community. Там я пишу и отлаживаю код. Далее я должен создать докер файл с OS Linux и там тестировать код. Для этого мне нужно после запуска контейнера нужно будет вызвать pip с requirment.txt для установки компонентов под линукс.
1 ответ 1
Нужно будет создать новую виртуальную среду на линукс. Питон и зависимости проекта имеют не только скрипты, но и нативные библиотеки которые не запустятся в не той ОС.
Проверь все ли указанно в Вашем requrements.txt выполнив pip freeze . Зависимости зависимостей не важны, но мог что-то пропустить.
Разверни новое окружение, активируй его. Установи зависимости через pip install — r requirements.txt . Переходи в папку с проектом и запускайся.
На практике очень много возьми с установкой окружения и библиотек и нужной версией питона. Хотелось бы более простое решение.
Предисловие
При разработке проекта виртуальная среда может быть отделена от среды Python в компьютерной системе. Так что сторонние модули между различными проектами не будут перепутаны друг с другом. В виртуальной среде установка и удаление сторонних библиотек происходит только в текущей виртуальной среде и не влияет на модули, установленные в системе, или модули в других виртуальных средах. И когда проект упакован, модули, необходимые для проекта, также будут упакованы, что устраняет проблему переустановки библиотеки классов в новой среде.
Создание виртуальной среды
1. Установите модуль virtualenv
Откройте командную строку в системе WINDOWS (после нажатия WIN + R введите cmd и нажмите Enter).
Введите в командной строке:
Вы можете начать установку модуля virtualenv автоматически при подключении к Интернету.
Если сеть отключена, вам необходимо заранее загрузить установочный пакет:
Предоставьте веб-сайт для поиска пакетов установки:путь загрузки pypi
Необходимо загрузить файл whl, а именно * .whl
По пути инсталляционного пакета, pip install *.whl
2. Создайте виртуальную среду.
Переключите консоль на путь, по которому должна быть установлена виртуальная среда, и введите:
virtualenv [Имя виртуальной среды]
После выполнения папка, названная в честь виртуальной среды, появится в текущем пути (E: \). Виртуальная среда создана!
3. Запустите виртуальную среду.
Вернемся к пути, по которому была создана виртуальная среда, текущий путь: (E: \), виртуальная среда называется: first_env
Ввод:
войдет в окно виртуальной среды после запуска:
4. Выйдите из виртуальной среды.
В виртуальной среде введите: deactivate
Перенести виртуальную среду
В процессе миграции виртуальной среды, предполагая, что машина A переносится на машину B, машина A и машина B должны установить одну и ту же версию python. Например: машина имеет версию 3.6, машине B также нужна версия 3.6.
1. Упаковка виртуальной среды
В упаковке виртуальной среды наиболее важным является упаковка сторонней библиотеки.
Текущие файлы проекта следующие:
web_development_venv — текущая виртуальная среда;
Текущий путь: E: \ Test Code \ Web \ TestingWebDevelop
1) Создать файл списка модулей
Cd к текущему пути в командной строке
cd E: \ Test Code \ Web \ TestingWebDevelop
pip freeze >package_list.txt
Если package_list.txt используется для сохранения списка модулей, содержащихся в текущем проекте, имя может быть изменено
После запуска будет создан package_list.txt по текущему пути, если он существовал раньше, он будет перезаписан.
2) Скачать модуль
Теперь вам нужно скачать установочные пакеты всех используемых в проекте модулей:
pip download -d [Путь для сохранения загружаемого пакета] -r [package_list.txt]
Сохранено в Download_File
pip download -d Download_File -r package_list.txt
После успеха появились два файла, и все установочные пакеты находятся в download_file.
2. Миграция виртуальной среды
Чтобы перенести проект на компьютер B, просто скопируйте папку проекта на компьютер B.
Если вы скопируете в прошлом и напрямую откроете виртуальную среду и запустите ее, вы получите сообщение об ошибке Не удается найти стороннюю библиотеку или после запуска не будет ответа.
Запустите виртуальную среду на командной консоли машины B и введите:
pip install --no-index --find-links=[Путь к установочному пакету] -r [Список модулей txt]
pip install --no-index --find-links=download_file -r package_list.txt
На данный момент миграция успешно завершена!
Интеллектуальная рекомендация
Тема интервью цикла событий
Прийти и увидеть два вопроса Название 1: Увидеть тему https://www.qdfuns.com/article/18271/88153fb28368c185faf062b88ed62e5a.html?tdsourcetag=s_pcqq_aiomsg Топ 2: Принцип цикла https://www.cnblogs.com/.
Введение в osgText :: Text
Перепечатайте и добавьте контент:https://www.cnblogs.com/xiaocainiao2hao/p/4544273.html Собрано из «Руководства по программированию движка OpenSceneGraph 3D» В OSG для о.
Встроенный тег Динамический изменение значения SRC, локальный обновить метод игры JavaScript для воспроизведения других видео
Нажмите на правый список, обновите воспроизведение слева и запустите код: Это может только переключить значение SRC встроенного, но он не переключается на игру (Strange Firefox может переключат.
LeetCode Лучшее время для покупки и продажи акций II
Название заголовка: Для данного массива его i-тый элемент является ценой i-го дня данной акции. Разработайте алгоритм для расчета максимальной прибыли, которую вы можете получить. Вы можете совершить .
Как настроить python в Linux под свой проект?
Привет, Хабр! Меня зовут Дмитрий Алексеев, я Data Scientist и являюсь участником профессионального сообщества NTA. Сегодня расскажу как использовать python и Linux «в связке», и как это поможет облегчить вам жизнь.
Операционная система Linux получила большую популярность среди админов и разработчиков благодаря ряду преимуществ таким, как бесплатное распространение, наличие открытого исходного кода, низкие требования к вычислительным ресурсам.
Python интерпретатор предустановлен в большинстве дистрибутивов Linux. Согласно рейтингу TIOBE на текущий момент самым упоминаемым в поисковых запросах языком программирования является python. Python обладает низким порогом входа, но имеет большой спектр возможностей для применения.
Использование python и Linux «в связке» может сильно облегчить вам жизнь. Я расскажу о том, как настроить python в Linux под нужды своего проекта.
Определение виртуальной среды
Виртуальная окружение (или виртуальная среда) — это изолированная среда для проекта. Это «песочница», в рамках которой запускается приложение со своими версиями библиотек, обновление и изменение которых не затронет другие приложения, использующие те же библиотеки. Тем самым использование виртуальных сред позволяет избежать конфликтов версий.
Виртуальное окружение со всеми необходимыми настройками можно «передавать» вместе с вашим приложением. Так другому разработчику будет проще работать с вашим проектом.
Также библиотеки, которые необходимы только в одном проекте, можно подгрузить в виртуальное окружение и тем самым не засорять глобальное окружение.
Проверка версии Python
Как уже говорилось ранее, python предустановлен в большинстве дистрибутивов Linux. Я использовал версию Ubuntu 20.04.
Проверить текущую версию python можно с помощью команды: python3 -V.
Обновление пакетов
Вначале рассмотрим работу с python библиотеками в Linux.
Advanced Package Tool (apt) – это пакетный менеджер, позволяющий производить различные манипуляции с пакетами: устанавливать, удалять, обновлять, искать, загружать без установки. При этом все зависимости будут разрешаться автоматически.
Пакет – это архив, в котором содержатся бинарные и конфигурационные файлы, информация о том, куда их разместить в файловой системе и список действий по установке. В Linux python библиотеки являются пакетами.
В Linux есть список репозиториев, из которых происходит установка пакетов. Список хранится в текстовом файле /etc/apt/sources.list, а также в директории /etc/apt/sources.list.d/. При выполнении команды apt update, apt обращается к списку репозиториев и из каждого репозитория в списке получает информацию о пакетах, находящихся в нем. Вся эта информация сохраняется в операционной системе.
Если выходит новая версия библиотеки, то apt не узнает об этом, пока не будет обновлена информация в репозиториях. Поэтому, если установить пакет, предварительно не выполнив обновление, то будет установлена та версия пакета, информация о которой хранится в системе в данный момент.
Для обновления пакетов необходимо выполнить следующие две команды.
Первая команда: sudo apt update.
Вторая команда: sudo apt -y upgrade.
Флаг -y в команде обозначает автоматическое подтверждение запросов на установку.
Установка пакетов venv
Для работы с виртуальным окружением в Linux нужно установить пакет venv с помощью следующей команды: sudo apt install python3-venv.
Создание виртуальной среды в Linux
Создать виртуальное окружение можно командой python3 -m venv my_venv.
My_venv – название виртуального окружения.
Приведенная выше команда создает каталог с именем «my_venv» (а также родительские каталоги, которые ещё не существуют), содержащий менеджер пакетов pip, интерпретатор, скрипты и библиотеки.
С помощью команды ls -la можно увидеть файлы в текущей директории.
Если вы хотите создать папку с окружением в конкретной директории, то вместо названия окружения нужно указать путь к папке. Например, python3 -m venv ~/my_venv.
Далее перейду в созданный каталог и посмотрю содержимое созданной папки.
Файл pyvenv.cfg содержит ключ, который будет указывать на ту версию Python, для которой запущена эта команда.
Каталог bin содержит копию/символическую ссылку двоичных файлов Python.
Каталог include включает в себя С-заголовки, компилирующие пакеты Python.
В каталог share входит python wheels. Python wheels — это формат готовых пакетов для Python, который помогает ускорить разработку программного обеспечения за счет сокращения количества операций компиляции.
Каталог lib в виртуальной среде имеет такую же структуру, как каталог lib в глобальном окружении. И содержит папку site-packages, в которую устанавливаются библиотеки.
Активация виртуальной среды
Виртуальное окружение создано. Для начала работы с окружением нужно его активировать.
Чтобы начать использовать эту виртуальную среду, вам необходимо активировать ее, запустив скрипт под названием activate:
После активации строка консоли будет иметь префикс с именем среды.
Можно проверить версию python.
А также посмотреть список установленных в окружении библиотек.
Установим библиотеку внутри виртуальной среды
Попробую установить библиотеку в окружение.
После активации все библиотеки будут устанавливаться в данное виртуальное окружение.
Чтобы проверить как установилась библиотека, можно попробовать импортировать её.
Если при импорте ошибок не было, значит установка библиотеки прошла успешно.
Совместное использование
Если вы хотите, чтобы другие могли на своих компьютерах запустить код вашего проекта, то помимо кода им необходимо иметь те же версии библиотек, что и у вас.
Для этого создадам файл, в котором будут прописаны все необходимые библиотеки и их версии.
Выполню следующую команду:
Файл requirements.txt содержит все библиотеки (с указанием их версий), которые установлены в данном окружении.
Установить все эти библиотеки можно выполнив одну команду в терминале: pip install -r requirements.txt.
После успешной установки библиотек другой человек сможет запустить ваш проект на своем компьютере.
Деактивация
Чтобы выйти из виртуального окружения, необходимо ввести команду deactivate.
Заключение
В публикации я рассмотрел тему виртуальных окружений в Linux. Материал позволит вам более осознанно подходить к процессу разработки и облегчит поддержку ваших проектов. Остались вопросы, буду рад ответить на них в комментариях.