Использование Pip для установки пакетов в среду Anaconda

Конда 4.2.13 MacOSX 10.12.1

Я пытаюсь установить пакеты из pip в новую среду (виртуальную), созданную с помощью anaconda. В документах Anaconda говорится, что это прекрасно. Это делается так же, как и для virtualenv.

Активируйте среду, в которую вы хотите поместить программу, затем установите программу pip...

Я создал пустую среду в Ananconda следующим образом:

conda create -n shrink_venv

Активируйте это:

source activate shrink_venv

Затем я могу видеть в терминале, что я работаю в моем env (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, и, поскольку в документах говорится, что все в порядке.

Выход из which -a pip:

/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip

** ОБНОВЛЕНИЕ ** Я вижу, что это довольно распространенная проблема. Я обнаружил, что conda env не очень хорошо работает с PYTHONPATH. Система, кажется, всегда смотрит в локации PYTHONPATH, даже когда вы используете среду conda. Теперь я всегда запускаю unset PYTHONPATH при использовании среды conda, и она работает намного лучше. Я на маке.

Ответы

Ответ 1

Для других, сталкивающихся с этой ситуацией, я нашел это самым простым решением:

  • Запустите conda create -n venv_name и source 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.

Теперь это должно успешно установить пакеты, используя эту виртуальную среду!

Ответ 2

Все, что вам нужно сделать, это открыть Anaconda Prompt и набрать

pip install package-name

Он автоматически установится в среду anaconda без использования

conda install package-name

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

Если у вас установлен pip в anaconda, вы можете запустить следующее в блокноте jupyter или в своей оболочке python, связанной с anaconda.

pip.main(['install', 'package-name'])

Проверьте вашу версию pip с помощью pip.__version__. Если это версия 10.xx или выше, установите пакет python с этой строкой кода

subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'package-name'])

В своем блокноте jupyter вы можете таким образом устанавливать пакеты python через pip в ячейку;

!pip install package-name

или вы можете использовать версию Python, связанную с Anaconda

!python3.6 -m pip install package-name

Ответ 3

Если вы не добавили pip при создании среды conda

conda create -n env_name pip

а также не установил pip внутри среды

source activate env_name
conda install pip

тогда единственный пип, который вы получили, это системный пип, который установит пакеты по всему миру.

Шина, как вы можете видеть в этом выпуске, даже если вы выполнили одну из процедур, упомянутых выше, поведение pip в среде conda все еще не определено.

Чтобы гарантировать использование pip, установленного в среде conda, без необходимости ввода длинного /home/username/anaconda/envs/env_name/bin/pip, я написал функцию оболочки:

# Using pip to install packages inside conda environments.
cpip() {
    ERROR_MSG="Not in a conda environment."
    ERROR_MSG="$ERROR_MSG\nUse \'source activate ENV\'"
    ERROR_MSG="$ERROR_MSG to enter a conda environment."

    [ -z "$CONDA_DEFAULT_ENV" ] && echo "$ERROR_MSG" && return 1

    ERROR_MSG='Pip not installed in current conda environment.'
    ERROR_MSG="$ERROR_MSG\nUse \'conda install pip\'"
    ERROR_MSG="$ERROR_MSG to install pip in current conda environment."

    [ -e "$CONDA_PREFIX/bin/pip" ] || (echo "$ERROR_MSG" && return 2)

    PIP="$CONDA_PREFIX/bin/pip"
    "$PIP" "[email protected]"
}

Надеюсь, что это полезно для вас.

Ответ 4

Для желающих установить небольшое количество пакетов в conda с помощью pip, используя

sudo $(which pip) install <instert_package_name>

работал на меня.

Explainaton

В любом случае, мне кажется, что which pip очень надежен для нахождения пути conda env pip туда, где вы находитесь. Однако при использовании sudo, кажется, это перенаправляет пути или иным образом нарушает это.

Использование $(which pip) выполняет это независимо от sudo или любой из команд и похоже на выполнение /home/<username>/(mini)conda(3)/envs/<env_name>/pip в Linux. Это потому, что $() запускается отдельно, а текстовый вывод добавляется во внешнюю команду.

Ответ 5

У меня возникла проблема с установкой пакета non conda на anaconda, я следил за наиболее понравившимся ответом здесь, и он не прошел хорошо (может быть, потому что мой anaconda находится в каталоге F, а созданный env был в папке C и bin не создан, я понятия не имею, но это не сработало).

В соответствии с anaconda pip уже установлен (который найден с помощью команды "conda list" в приглашении anaconda), но пакеты пакетов не устанавливаются, поэтому вот что я сделал, я снова установил pip, а затем pip установил пакет.

conda install pip
pip install see

see является некондовым пакетом.

Ответ 6

Если вы используете ОС Windows, откройте Anaconda Prompt и введите activate yourenvname

А если вы используете ОС Mac или Linux, откройте терминал и введите source activate yourenvname

yourenvname здесь ваше желаемое окружение, в котором вы хотите установить пакет pip

после ввода вышеуказанной команды вы должны увидеть, что имя вашей среды изменяется с base на типизированное окружение yourenvname в выводе консоли (что означает, что вы теперь находитесь в нужном контексте среды)

Тогда все, что вам нужно сделать, это нормально pip install команду, например, pip install yourpackage

Таким образом, пакет pip будет установлен в вашей среде Conda

Ответ 7

Все вышеперечисленные ответы в основном основаны на использовании virtualenv. У меня просто свежая установка anaconda3, и в ней не установлено ни одного virtualenv. Итак, я нашел лучшую альтернативу, не задумываясь о создании virtualenv.

Если у вас много версий pip и python, установленных в linux, сначала запустите команду ниже, чтобы получить список всех установленных путей pip.

где пипс

Вы получите что-то подобное в качестве вывода.

pip: /usr/bin/pip /home/prabhakar/anaconda3/bin/pip/usr/share/man/man1/pip.1.gz

Скопируйте путь pip, который вы хотите использовать для установки вашего пакета, и вставьте его после sudo, заменив /home/prabhakar/anaconda3/bin/pip в приведенной ниже команде.

sudo /home/prabhakar/anaconda3/bin/pip install <package-name>

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

Ответ 8

Я решил эту проблему следующим образом:

Если в качестве пипса по умолчанию вы используете плагин non-conda, но python по умолчанию - это 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, чтобы он использовал python anaconda для установки

python -m pip install <package>

Это устанавливает пакет в каталог библиотеки anaconda, а не в каталог библиотеки, связанный с (не-anaconda) pip

Ответ 9

Если вы ТОЛЬКО хотите установить conda. Просто удалите все остальные пути Python из вашей переменной PATH.

Оставляя только:

C:\ProgramData\Anaconda3
C:\ProgramData\Anaconda3\Scripts
C:\ProgramData\Anaconda3\Library\bin

Это позволяет вам просто использовать pip install * и он будет установлен прямо в вашу установку conda.

Ответ 10

Просто activate shrink_venv. Я попытался создать новую среду, и моя установка conda не позволяет мне использовать источник в начале.

Ответ 11

Это то, что сработало для меня (см. ссылку на изображение)

  1. Открытая Анаконда
  2. Выберите Среды в левой панели под домом
  3. Справа от того места, где вы выбрали, и под панелью "сред поиска", вы должны увидеть основание (root). Нажмите на него
  4. Должен появиться треangularьник, указывающий вправо, нажмите на него и выберите "открыть терминал"
  5. Используйте обычную команду pip install здесь. Нет необходимости указывать на среду/путь

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

[pip install anaconda]