Как мне "собрать с опцией CLI" с помощью conda-build? - PullRequest
0 голосов
/ 14 февраля 2020

Я новичок в Python, среде Анаконды, Конде, Пипе, всё это, поэтому, пожалуйста, потерпите меня, если это простые вопросы. Я задал пару предыдущих вопросов об этой установке, которые до сих пор были решены. Вот мой предыдущий вопрос . Все мои проблемы связаны с метафайлами conda-build, которые не работают и нуждаются в ручном редактировании, чтобы добиться успеха.

Справочная информация:

Я пытаюсь установить пакет он называется ibm-watson в моем Python, в отдельной среде conda, клонированной из моей базовой среды. Это в поддержку курса Coursera. Учебное ПО собирает этот пакет в собственном окне Jupyter с установкой в ​​pip. Я хотел создать примеры в своем собственном окружении, и я работаю в Anaconda по рекомендации многих людей.

Когда я впервые столкнулся с проблемами с conda-build, которые я не смог понять, я решил попробовать пип. Это сработало, но привело к другим проблемам (о которых онлайн-статьи предупреждали). Конда (я читал) не знает о вещах, установленных с помощью pip, и это лишает его возможности управлять пакетами и средами. Поэтому я решил отказаться от установки pip и попытаться заставить его работать с conda.

Первый вопрос : почему установка pip работает правильно и рекурсивно создает все зависимости, а conda-build - нет ? Разве я не использую правильные опции для conda?

Итак, вот проблемы meta.yaml, которые я обнаружил до сих пор и решил с помощью людей здесь.

  • Версия строка, которая говорит '> = 2.0,' с посторонней запятой.
  • имя пакета, которое было показано с подчеркиванием, но на самом деле нужны дефисы
  • Зависимости, которые я исправил, загрузив необходимые пакеты один за другим и сборка, часто имеющая дело с теми же проблемами, что и выше, в meta.yaml
  • Совсем недавно, эта строка, которая выдавала ошибку, пока я не догадался, что проблема заключалась в кавычках: typing; # [ py <'3.5' ]
  • Также команда установки из документации conda conda install --use-local my-package не работает, и в обсуждении на Github я вместо этого использую conda install -c ${CONDA_PREFIX}/conda-bld/my-package

Второй вопрос: Почему процесс conda такой глючный? Разработчики IBM просто небрежны в своих тестах или это вина Конды, или я все это неправильно использую?

И, наконец, реальный вопрос

Последняя зависимость, которую мне пришлось построить был установлен python -дотенв из PyPi. Я построил это с помощью conda, как и другие:

conda skeleton pypi python-dotenv
conda-build python-dotenv  (after making the above change to meta.yaml)

Это проходит весь путь до сборки, но затем выдает эту ошибку:

Run pip install "python-dotenv[cli]" to fix this.Tests failed for python-dotenv-0.11.0-py37_0.tar.bz2 - moving package to /Users/(myname)/opt/anaconda3/envs/coursera/conda-bld/broken

Так как я не использую pip , как мне сделать то, что он просит меня сделать? Я пытался просто сделать conda-build "python-dotenv[cli]", но получил "нет действительных рецептов для python -dotenv [cli]".

...