Вопрос относительно установки / обновления пакетов через conda install - PullRequest
0 голосов
/ 20 февраля 2019

Мой вопрос:

предположим, у меня есть две среды: базовая и виртуальная среда с именем venv

Если я установлю / обновлю пакет в базовой среде через

conda install package

будет ли обновляться пакет внутри venv?

И если я обновлю пакет venv, будет ли обновляться пакет в базовой среде?

если это так, как я могу предотвратитьони обновляются вместе (я хочу обновить / установить в одной среде и поддерживать другую среду в чистоте)

Что касается того, почему я задаю этот вопрос, так это то, что я заметил, что некоторые пакеты обновлены в базовой среде без вывода сообщений (я не обновлял, Я всегда обновляю / устанавливаю в среде venv) и если я случайно испортил свою среду venv (скажем, неправильно обновил какой-то пакет, что очень часто);Я все еще могу оправиться от здоровой, чистой базовой среды.

1 Ответ

0 голосов
/ 20 февраля 2019

Я полагаю, что виртуальная среда (venv) была установлена ​​с virtualenv внутри базовой среды conda.

Установка или обновление пакетов внутри venv не должно влиять на базовую среду.

С другой стороны (при условии, что вы обновляете пакеты с помощью conda, находясь вне venv), это зависит от:

  • Если venv был создан с последней версией virtualenv или с --no-site-packages flag (устарел, потому что теперь по умолчанию ), обновления пакетов вне venv не должны иметь никакого влияния.
  • Если venv был создан с последней версией virtualenv или с флагом --system-site-packages,тогда да, обновления пакетов вне venv должны оказать влияние.

Последний вариант, обновление пакетов с помощью conda, когда внутри виртуальной среды возникает проблема.

Поскольку вы используете condaпочему бы не создать две среды conda и не использовать virtualenv?Кроме того, поскольку вы добавили тег pip, я рекомендую взглянуть на Использование Pip в среде Conda , чтобы понять взаимодействие pip / conda.

...