Ошибка «Разрешить пакет не найден» в Anaconda - PullRequest
0 голосов
/ 27 мая 2018

Я установил Anaconda в Windows, а затем я хотел добавить этот код

conda env create -f robotreviewer_env_local.yml

, но я получил эту ошибку

ResolvePackageNotFound
- spacy = 0.101.0
- ptyprocess = 0.5.1

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 15 марта 2019

Общие стратегии

Поиск каналов

Попробуйте поискать в Anaconda Cloud конкретные пакеты, которые не могут быть разрешены.Иногда они могут быть из каналов, отличных от по умолчанию ( anaconda ).Включите вашу платформу (например, platform:win-64) в свой поиск, чтобы быстрее сузить круг.Если вы найдете канал, у которого он есть, вы можете добавить его в раздел channel определения YAML. 1

Проверьте PyPI

Если вы не можете найти каналы Conda с нужными вам версиями, перейдите на PyPI и выполните поиск там.Если вы найдете их, переместите их в раздел pip YAML.

Удалите требования

Если вы знаете, где найти пакеты в исходном коде, удалите ихиз YAML и установите их локально в активированной среде.

Ослабьте версии

Если у вас нет проблем со строгой воспроизводимостью, вы всегда можете удалить версии (второстепенные, основные)), чтобы получить тот, который вы можете установить из Conda или PyPI.


1 Конечно, если вы не знакомы с источником канала, убедитесь, что он некакой-то вредоносный код перед его использованием.Например, скачайте tar.bz и отсканируйте его.Я не слышал о подобных атаках, но это кажется очевидным вектором.


Специальное разрешение пакетов

Пространство

Поиск в АнакондеРепо показывает, что ни каналы anaconda (по умолчанию) , ни conda-forge не имеют этой версии Spacy, доступной для платформы win64.Тем не менее, есть выделенный пространственный канал, который может быть там, где он был первоначально получен.Итак, в разделе channel YAML вы можете добавить

channels:
  - spacy

ptyprocess

Этот пакет не найден нигде в Anaconda Cloud, но он находится на PyPIпоэтому вам следует переместить его в раздел pip файла YAML:

pip:
  - ptyprocess=0.5.1
...