Я не понимаю, почему некоторые пакеты установлены с помощью conda
и некоторое использование pip3
. Это просто различные установщики от различных разработчиков, но выполнения того же самого? Я могу использовать их попеременно?
Пример
conda create -n mtl python=3.6 anaconda
conda activate mtl
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
pip3 install opencv-python
Это действительно зависит от Вашего знакомства с зернышком и conda и как установка пакета взаимодействует между этими двумя методами. Если бы Вы - относительный новый пользователь conda и Python, я рекомендовал бы использовать только conda для установки пакетов. YMMV в зависимости от Вашего опыта с обоими.
Видят следующие два документа, которые объясняют отношения между conda и зернышком более подробно:
Используя зернышко в conda среде & Понимание Conda и Pip
От первой статьи:
Выполнение conda после того, как зернышко имеет потенциал, чтобы перезаписать и потенциально повредить пакеты, установленные через зернышко. Точно так же зернышко может обновить или удалить пакет, которого требует conda-установленный пакет. В некоторых случаях эти поломки являются косметическими, где несколько файлов присутствуют, который должен был быть удален, но в других случаях среда может развиться в неприменимое состояние.
существует несколько шагов, которые могут использоваться для предотвращения поврежденных сред при использовании conda и зернышка вместе. Один безошибочный метод должен только использовать conda пакеты.
conda install <package_name>
будет ограничен к Вашему использованию в conda среде. При удалении conda установки те пакеты будут удалены также.
Обычно conda изменит Ваш $PATH так, чтобы это изолировало установку пакета от Вашей системы несколько.
, Когда Вы используете pip3 install <package_name>
, Вы потенциально влияете на свою систему установка Python. Особенно, если Вы используете sudo
или sudo -H
для установки пакета Python.
я не уверен, является ли это лучшая практика; но, когда я использую pip3
, я обычно использую синтаксис команды pip3 install --user <package_name>
, который "Установит на пользовательском каталоге установки Python для Вашей платформы. Обычно в ~/.local/
каталог".
Снова, я пытаюсь принять некоторую меру предосторожности для изоляции моих изменений пакета от установки Python системы.
я считаю это вопросом персонального предпочтения, относительно которого метод conda
по сравнению с pip3
является "лучшим".