Conda activate environment linux

8 ключевых команд для управления средами Conda

Apr 14 · 6 min read

Введение

Виртуальные среды — не самая простая концепция для новичков в Python. Как правило, при установке ПО, например Microsoft Office и Evernote, большинство из нас придерживаются стандартной конфигурации, предполагающей применение ПО всеми пользователями ПК. Иначе говоря, на системном уровне устанавливается всего одна копия программы, доступ к которой получают все пользователи.

У многих из нас эта привычка формировалась годами с момента обучения программированию. Сначала мы учились устанавливать на ПК сам Python, а затем напрямую в систему — его пакеты. Чем больше мы с ним работали, тем большее число различных пакетов требовалось для решения широкого спектра задач, но по ходу стали возникать определенные сложности.

Пакет А зависит от пакета В с версией 2.0, поэтому вместе с первым из них на системном уровне устанавливается и второй. Однако другому проекту требуется пакет С, зависящий от пакета В с версией 2.5. При установке С в соответствии с его требованиями система обновит В до версии 2.5. Но вот обновление пакета А для взаимодействия с пакетом В 2.5 не произошло, что чревато проблемами на этапе работы с A.

С такого рода сложностями рано или поздно сталкиваются многие начинающие программисты Python. Помимо конфликтов зависимостей есть еще проекты, требующие разных его версий. Например, возможна ситуация, в которой ранее разработанные проекты продолжают использовать Python 2.x, а большинство других — 3.x. При этом некоторые из тех, что придерживаются версии 3.x., могут работать с Python 3.4, а другие требуют 3.5+. Следовательно, если для всех проектов на системном уровне установлен только Python, то конфликты его версий могут стать камнем преткновения.

В такой ситуации на помощь приходят среды Conda . Conda — это комплексный инструмент управления пакетами и средой, востребованный специалистами по данным. Кроме того, он оптимизирует библиотеки, связанные с наукой о данных, такие как NumPy, SciPy и TensorFlow, которые максимально увеличивают производительность имеющегося оборудования для обеспечения наилучшей вычислительной мощности (более подробная информация предоставлена на сайте Conda). Этот инструмент позволяет создавать изолированные среды для проектов, которые могут включать не только разные пакеты, но даже разные версии Python.

С подробной инструкций установки Conda на ПК можно ознакомиться на официальном сайте. Различают две версии данного инструмента: более компактный Miniconda, предоставляющий Conda и его зависимости, и Anaconda, включающий гораздо большее число пакетов, необходимых в научных исследованиях. После установки Conda вы можете выполнить следующую команду в терминале (или в другом инструменте командной строки на свое усмотрение):

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

1. Проверка доступных сред

Для начала выясним, какие среды находятся в нашем распоряжении. Выполняем следующую команду:

Предположим, вы только что установили Conda, тогда непременно увидите вот такой результат:

  • base — среда по умолчанию, созданная Conda в процессе установки.
  • Символ * указывает на то, что эта конкретная среда является активной.
  • Путь показывает физическую директорию среды и связанные с ней пакеты.

Вышеуказанная команда проверки применяется для обзора сред Conda, доступных на ПК.

2. Создание новой среды

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

  • Флаг —name говорит о намерении указать имя новой среды. В данном случае она будет называться firstenv .
  • Вместо —name возможен краткий вариант -n .

Эту команду можно расширить, чтобы установить дополнительные пакеты в процессе создания среды, к примеру NumPy и Requests :

Более того, у нас даже есть возможность указать конкретные версии этих пакетов, как показано ниже:

После установки можно удостовериться в успешном создании среды с помощью команды conda env list , отображающей firstenv в списке.

Если вы в курсе, какие пакеты необходимы для среды, то в процессе ее создания можно установить сразу их все. Это позволит избежать конфликтов зависимостей, к которым могут привести отдельные установки.

3. Активация среды

Как только вы создали среду, самое время в нее войти. На профессиональном языке этот процесс называется “активацией”. Выполняем код:

Читайте также:  Что такое файловая система windows определение

После выполнения вы заметите, что в начале строки появилось название среды (firstenv) или (your-own-env-name) в случае выбора другого имени, как показано ниже:

Поскольку среда firstenv уже активирована, попробуйте ради интереса снова выполнить conda env list . Вы увидите, что в строке firstenv появится символ * .

4. Установка, обновление и удаление пакетов

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

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

Однако в канале Anaconda может не оказаться конкретного пакета. В таком случае есть вариант с применением стандартного канала conda-forge , как показано ниже. —channel или просто -c обозначает канал, из которого извлекается пакет.

Еще один важный канал — широко известный PyPI (каталог пакетов Python), доступный через инструмент управления пакетами pip , нативно поддерживаемый Conda. Рассмотрим простой пример:

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

В зависимости от установочного канала для обновления пакета достаточно лишь заменить install на команду update .

Для удаления пакета воспользуйтесь командой uninstall , как показано ниже. Отметим, что иначе она называется remove , например conda remove pandas .

5. Проверка установленных пакетов

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

В результате вы увидите подобное:

Обратите внимание, что список указывает, из какого канала устанавливаются пакеты. В данном случае в нашем распоряжении пакеты из PyPI и conda-forge . Отсутствие информации о канале означает, что по умолчанию пакеты устанавливаются из Anaconda.

Если чрезмерная длина списка усложняет поиск конкретного пакета, можно проверить информацию только по одному, выполнив команду:

6. Деактивация среды

Закончив работу, вы покидаете текущую среду или, опираясь на терминологию, деактивируете ее. Для этой цели существует команда:

Вы заметите отсутствие префикса (firstenv) в сообщении командной строки. Ради интереса можете выполнить conda env list , чтобы убедиться, что среда firstenv больше не обозначена символом * , указывающим на ее активность.

7. Воссоздание сред

Воспроизводимость — вот главная цель, к достижению которой стремятся Conda и другие инструменты управления средой, чтобы обеспечить качественное выполнение кода не только на личном ПК, но и на машинах коллег по команде. Вот почему так важно иметь возможность воссоздавать ту же самую среду на другом компьютере. Рассмотрим несколько полезных команд, применяемых для этой цели.

Как только вы вошли в виртуальную среду, выполните:

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

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

Флаг -f говорит о намерении создать среду из конкретного файла. Перейдите в директорию, содержащую environment.yml , и выполните команду conda env create .

8. Удаление сред

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

  • Флаг -n указывает на имя среды.
  • Флаг -all означает, что будут удалены не только все пакеты, но и сама среда.

Ради интереса выполните conda env list , чтобы убедиться, что удаление среды прошло успешно.

Заключение

В статье были рассмотрены 8 основных команд Conda (но фактически их было больше). Надеюсь, они помогут вам начать работу с этим инструментом для управления средами в проектах науки о данных. Подведем краткие итоги:

  • Создавайте новую среду для каждого проекта. О пространстве на диске можете не беспокоиться, поскольку среда много места не занимает.
  • Устанавливайте как можно больше пакетов при создании среды во избежание конфликтов зависимостей.
  • Используйте альтернативные каналы, если Anaconda не предоставляет нужные пакеты. Однако он всегда должен рассматриваться как приоритетный.
  • Рассмотрите вариант передачи среды для воспроизведения ее аналога с теми же пакетами.

Источник

Conda environmentsВ¶

A conda environment is a directory that contains a specific collection of conda packages that you have installed. For example, you may have one environment with NumPy 1.7 and its dependencies, and another environment with NumPy 1.6 for legacy testing. If you change one environment, your other environments are not affected. You can easily activate or deactivate environments, which is how you switch between them. You can also share your environment with someone by giving them a copy of your environment.yaml file. For more information, see Managing environments .

Читайте также:  Перезагрузка linux от другого

Conda directory structureВ¶

ROOT_DIR В¶

The directory that Anaconda or Miniconda was installed into.

/pkgs В¶

Also referred to as PKGS_DIR. This directory contains decompressed packages, ready to be linked in conda environments. Each package resides in a subdirectory corresponding to its canonical name.

/envs В¶

The system location for additional conda environments to be created.

The following subdirectories comprise the default Anaconda environment:

Other conda environments usually contain the same subdirectories as the default environment.

Virtual environmentsВ¶

A virtual environment is a tool that helps to keep dependencies required by different projects separate by creating isolated spaces for them that contain per-project dependencies for them.

Users can create virtual environments using one of several tools such as Pipenv or Poetry, or a conda virtual environment. Pipenv and Poetry are based around Python’s built-in venv library, whereas conda has its own notion of virtual environments that is lower-level (Python itself is a dependency provided in conda environments).

Scroll to the right in the table below.

Some other traits are:

Python virtual environment

Conda virtual environment

Libraries

Statically link, vendor libraries in wheels, or use apt/yum/brew/etc.

Install system-level libraries as conda dependencies.

System

Depend on base system install of Python.

Python is independent from system.

Extending environment

Extend environment with pip.

Extended environment with conda or pip.

Non-Python dependencies

Manages non-Python dependencies (R, Perl, arbitrary executables).

Tracking dependencies

Tracks binary dependencies explicitly.

Why use venv-based virtual environmentsВ¶

You prefer their workflow or spec formats.

You prefer to use the system Python and libraries.

Your project maintainers only publish to PyPI, and you prefer packages that come more directly from the project maintainers, rather than someone else providing builds based on the same code.

Why use conda virtual environments?В¶

You want control over binary compatibility choices.

You want to utilize newer language standards, such as C++ 17.

You need libraries beyond what the system Python offers.

You want to manage packages from languages other than Python in the same space.

Workflow differentiatorsВ¶

Some questions to consider as you determine your preferred workflow and virtual environment:

Is your environment shared across multiple code projects?

Does your environment live alongside your code or in a separate place?

Do your install steps involve installing any external libraries?

Do you want to ship your environment as an archive of some sort containing the actual files of the environment?

Package system differentiatorsВ¶

There are potential benefits for choosing PyPI or conda.

PyPI has one global namespace and distributed ownership of that namespace. Because of this, it is easier within PyPI to have single sources for a package directly from package maintainers.

Conda has unlimited namespaces (channels) and distributed ownership of a given channel. As such, it is easier to ensure binary compatibility within a channel using conda.

© Copyright 2017, Anaconda, Inc Revision c1579681 .

Источник

Getting started with condaВ¶

Conda is a powerful package manager and environment manager that you use with command line commands at the Anaconda Prompt for Windows, or in a terminal window for macOS or Linux.

This 20-minute guide to getting started with conda lets you try out the major features of conda. You should understand how conda works when you finish this guide.

SEE ALSO: Getting started with Anaconda Navigator, a graphical user interface that lets you use conda in a web-like interface without having to enter manual commands. Compare the Getting started guides for each to see which program you prefer.

Before you startВ¶

You should have already installed Anaconda.

ContentsВ¶

Starting conda on Windows, macOS, or Linux. 2 MINUTES

Managing conda . Verify that Anaconda is installed and check that conda is updated to the current version. 3 MINUTES

Managing environments . Create environments and move easily between them. 5 MINUTES

Managing Python . Create an environment that has a different version of Python. 5 MINUTES

Managing packages . Find packages available for you to install. Install packages. 5 MINUTES

TOTAL TIME: 20 MINUTES

Starting condaВ¶

Windows

From the Start menu, search for and open «Anaconda Prompt.»

On Windows, all commands below are typed into the Anaconda Prompt window.

MacOS

Open Launchpad, then click the terminal icon.

On macOS, all commands below are typed into the terminal window.

Читайте также:  Браузер который не грузит windows

Linux

Open a terminal window.

On Linux, all commands below are typed into the terminal window.

Managing condaВ¶

Verify that conda is installed and running on your system by typing:

Conda displays the number of the version that you have installed. You do not need to navigate to the Anaconda directory.

EXAMPLE: conda 4.7.12

If you get an error message, make sure you closed and re-opened the terminal window after installing, or do it now. Then verify that you are logged into the same user account that you used to install Anaconda or Miniconda.

Update conda to the current version. Type the following:

Conda compares versions and then displays what is available to install.

If a newer version of conda is available, type y to update:

We recommend that you always keep conda updated to the latest version.

Managing environmentsВ¶

Conda allows you to create separate environments containing files, packages, and their dependencies that will not interact with other environments.

When you begin using conda, you already have a default environment named base . You don’t want to put programs into your base environment, though. Create separate environments to keep your programs isolated from each other.

Create a new environment and install a package in it.

We will name the environment snowflakes and install the package BioPython. At the Anaconda Prompt or in your terminal window, type the following:

Conda checks to see what additional packages («dependencies») BioPython will need, and asks if you want to proceed:

Type «y» and press Enter to proceed.

To use, or «activate» the new environment, type the following:

Windows: conda activate snowflakes

macOS and Linux: conda activate snowflakes

conda activate only works on conda 4.6 and later versions.

For conda versions prior to 4.6, type:

Windows: activate snowflakes

macOS and Linux: source activate snowflakes

Now that you are in your snowflakes environment, any conda commands you type will go to that environment until you deactivate it.

To see a list of all your environments, type:

A list of environments appears, similar to the following:

The active environment is the one with an asterisk (*).

Change your current environment back to the default (base): conda activate

For versions prior to conda 4.6, use:

macOS, Linux: source activate

When the environment is deactivated, its name is no longer shown in your prompt, and the asterisk (*) returns to base. To verify, you can repeat the conda info —envs command.

Managing PythonВ¶

When you create a new environment, conda installs the same Python version you used when you downloaded and installed Anaconda. If you want to use a different version of Python, for example Python 3.5, simply create a new environment and specify the version of Python that you want.

Create a new environment named «snakes» that contains Python 3.9:

When conda asks if you want to proceed, type «y» and press Enter.

Activate the new environment:

Windows: conda activate snakes

macOS and Linux: conda activate snakes

conda activate only works on conda 4.6 and later versions.

For conda versions prior to 4.6, type:

Windows: activate snakes

macOS and Linux: source activate snakes

Verify that the snakes environment has been added and is active:

Conda displays the list of all environments with an asterisk (*) after the name of the active environment:

The active environment is also displayed in front of your prompt in (parentheses) or [brackets] like this:

Verify which version of Python is in your current environment:

Deactivate the snakes environment and return to base environment: conda activate

For versions prior to conda 4.6, use:

macOS, Linux: source activate

Managing packagesВ¶

In this section, you check which packages you have installed, check which are available and look for a specific package and install it.

To find a package you have already installed, first activate the environment you want to search. Look above for the commands to activate your snakes environment .

Check to see if a package you have not installed named «beautifulsoup4» is available from the Anaconda repository (must be connected to the Internet):

Conda displays a list of all packages with that name on the Anaconda repository, so we know it is available.

Install this package into the current environment:

Check to see if the newly installed program is in this environment:

Источник

Оцените статью