Почему в новую среду Conda не входят такие пакеты, как numpy? - PullRequest
0 голосов
/ 04 октября 2018

Я прохожу через болезненный процесс изучения того, как управлять пакетами / различными (виртуальными) средами в Python / Anaconda.Мне сказали, что Anaconda - это в основном установка на python со всеми необходимыми пакетами (например, numpy, scipy, sci-kit learn и т. Д.).

Однако, когда я создаю новую среду, ни один из этих пакетов не доступен.Я не могу импортировать их при использовании PyCharm с недавно созданной средой.Когда я проверяю интерпретатор проекта Pycharm или вкладку сред навигатора anaconda, кажется, что ни один из этих пакетов не установлен в моих новых средах. Почему это?Мне не имеет смысла предоставлять все эти пакеты, но не готовить их к использованию при создании новых сред.Нужно ли устанавливать все эти пакеты вручную в новых env или я что-то упускаю?

С наилучшими пожеланиями и заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 04 октября 2018

Причина, по которой среда python по умолчанию не поставляется с numpy, заключается в том, что, возможно, вы не хотите numpy в среде .Представьте себе, что вы пишете API (или общий программный пакет), где ваши пользователи могут иметь или не иметь доступа к numpy. Возможно, вы захотите запустить тесты, чтобы убедиться в том, что ваше программное обеспечение корректно завершается с ошибкой или имеет чистый запасной вариант Python, если numpy не установлен на компьютере вашего пользователя.Среда Conda обеспечивает это (безумно полезное) преимущество. Конечно, рассматриваемый пакет не имеет , равный numpy.Есть еще несколько эзотерических пакетов, в которых этот тип тестирования полезен.

Кроме того, вы можете создать среду conda с предустановленной numpy или любой другой пакет, который вы хотите предварительно установить (просто добавьте их вконец команды conda create):

conda create --name my-env-name numpy
0 голосов
/ 04 октября 2018

Anaconda поставляется с доступными пакетами, такими как numpy, scipy и sci-kit learn, но если вы хотите использовать их в своей среде, вы должны:

1) Создать среду:

conda create --name new_env 

2) Активируйте среду:

source activate new_env 

3) Установите нужный пакет, используя conda install

conda install numpy

Если вы хотите создать новую среду, котораявключает установки всех доступных пакетов Anaconda, см. Создание среды Python Anaconda со всеми пакетами .Вы можете включить anaconda в список пакетов для установки в среде, который представляет собой «метапакет», означающий «все пакеты, которые идут с установкой Anaconda».

0 голосов
/ 04 октября 2018

Я не знаю о средах "conda", но в целом виртуальные среды используются, чтобы предоставить вам "уникальную" среду.Это могут быть разные пакеты, разные переменные среды и т. Д.

Весь смысл создания новой виртуальной среды состоит в том, чтобы иметь отдельное место, где вы можете установить все двоичные файлы (и другие ресурсы), необходимые для вашего проекта. Если у вас есть несколько предварительно установленных двоичных файлов в среде, разве это не противоречит цели их создания?

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

Например, если вы создаете проект, для которого требуется numpy:1.1, но у вас установлено numpy:2.1, вам придется его изменить.Поэтому, по сути, не устанавливая никаких других пакетов, они не делают предположений относительно требований вашего проекта.

0 голосов
/ 04 октября 2018

Вы можете проверить пакеты, которые есть в вашей среде, с помощью команды:

список conda

Если пакеты не перечислены, вам просто нужно добавить их, с помощьюкоманда:

conda install numpy

...