Использование 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
Это то, что сработало для меня (см. ссылку на изображение)
- Открытая Анаконда
- Выберите Среды в левой панели под домом
- Справа от того места, где вы выбрали, и под панелью "сред поиска", вы должны увидеть основание (root). Нажмите на него
- Должен появиться треangularьник, указывающий вправо, нажмите на него и выберите "открыть терминал"
- Используйте обычную команду pip install здесь. Нет необходимости указывать на среду/путь
Для дальнейшего использования вы можете найти папку, в которую загружаются ваши пакеты, если вы удовлетворяете требованиям. Вы можете увидеть это, если прокрутите вверх в терминале. Следует читать что-то вроде: требование уже выполнено, а затем путь
[
]