Using Pip to install packages to Anaconda Environment
Использование Pip для установки пакетов в среду Anaconda
conda 4.2.13 MacOSX 10.12.1
Я пытаюсь установить пакеты из pip в новую среду (виртуальную), созданную с помощью anaconda. В документах Anaconda говорится, что это совершенно нормально. Это делается так же, как и для virtualenv.
Активируйте среду, в которую вы хотите поместить программу, затем pip установите программу...
Я создал пустую среду в Ananconda следующим образом:
conda create -n shrink_venv
Активируйте его:
source activate shrink_venv
Затем я вижу в терминале, что я работаю в своей среде (shrink_venv). Возникает проблема, когда я пытаюсь установить пакет с помощью pip:
(shrink_venv): pip install Pillow
Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages
Итак, я вижу, что он считает, что требование общесистемного пакета удовлетворено. Похоже, среда работает некорректно, определенно не так, как сказано в документации. Я делаю что-то не так?
Просто примечание, я знаю, что вы можете использовать conda install для пакетов, но у меня возникла проблема с Pillow от anaconda, поэтому я хотел получить его от pip, и поскольку в документах сказано, что это нормально.
Я вижу, что это довольно распространенная проблема. Что я обнаружил, так это то, что conda env плохо работает с PYTHONPATH. Кажется, что система всегда просматривает PYTHONPATH местоположения, даже когда вы используете среду conda. Теперь я всегда запускаю unset PYTHONPATH при использовании среды conda, и это работает намного лучше. Я на Mac.
Переведено автоматически
Ответ 1
Для других, кто столкнулся с такой ситуацией, я обнаружил, что это самое простое решение:
Запустите conda create -n venv_name и conda activate venv_name, где venv_name - имя вашей виртуальной среды.
Запустите conda install pip. Это установит pip в ваш каталог venv.
Найдите свой каталог anaconda и фактическую папку venv. Это должно быть где-то вроде /anaconda/envs/venv_name/.
Установите новые пакеты, выполнив /anaconda/envs/venv_name/bin/pip install package_name.
Теперь пакеты должны быть успешно установлены с использованием pip этой виртуальной среды!
Ответ 2
Я решил эту проблему следующим образом:
Если у вас по умолчанию установлен pip, отличный от conda, но по умолчанию используется conda python (как показано ниже)
>which -a pip /home/<user>/.local/bin/pip /home/<user>/.conda/envs/newenv/bin/pip /usr/bin/pip
>which -a python /home/<user>/.conda/envs/newenv/bin/python /usr/bin/python
Тогда вместо простого вызова pip install <package> вы можете использовать флаг модуля -m с python, чтобы он использовал anaconda python для установки
python -m pip install <package>
При этом пакет устанавливается в каталог библиотеки anaconda, а не в каталог библиотеки, связанный с (не-anaconda) pip
РЕДАКТИРОВАТЬ - Причина, по которой это работает, заключается в следующем:
Команда pip ссылается на конкретный pip-файл / ярлык (which -a pip сообщает вам, какой именно). Аналогично, команда python ссылается на конкретный файл python (which -a python сообщает вам, какой именно). По той или иной причине эти две команды могут рассинхронизироваться, так что ваш pip по умолчанию находится в другой папке, чем ваш python по умолчанию, и, следовательно, связан с другой версией python.
В отличие от этого, в python -m pip конструкции не используется ярлык, на который указывает pip команда. Вместо этого он просит python найти свою версию pip и использовать эту версию для установки пакета.
Ответ 3
Все, что вам нужно сделать, это открыть приглашение Anaconda и ввести
pip install package-name
Он автоматически установится в среду anaconda без необходимости использования
conda install package-name
Поскольку некоторым пакетам conda может не хватать поддержки сверхурочно, требуется установка с использованием pip, и это один из способов сделать это
Если у вас установлен pip в anaconda, вы можете запустить следующее в jupyter notebook или в вашей оболочке python, связанной с anaconda
pip.main(['install', 'package-name'])
Проверьте свою версию pip с помощью pip.__version__. Если это версия 10.x.x или выше, то установите свой пакет python с помощью этой строки кода
В вашем ноутбуке jupyter вы можете устанавливать пакеты python через pip в ячейку следующим образом;
!pip install package-name
или вы могли бы использовать свою версию python, связанную с anaconda
!python3.6 -m pip install package-name
Ответ 4
Это то, что сработало у меня (см. Ссылку на изображение)
Откройте Anaconda
Выберите среды на левой панели ниже home
Справа от выбранного вами места и под панелью "среды поиска" вы должны увидеть base (корень). Нажмите на него.
Должен появиться треугольник, указывающий вправо, щелкните по нему и выберите "открыть терминал"
Используйте здесь обычную команду pip install . Нет необходимости указывать на среду / путь
Для дальнейшего использования вы можете найти папку, в которую загружаются ваши пакеты, если у вас уже выполнено требование. Вы можете увидеть это, прокрутив вверх в терминале. Это должно выглядеть примерно так: требование уже выполнено, а затем путь