Я последовал за ответом @Viktor Kerkez и имел смешанный успех. Я обнаружил, что иногда этот рецепт
conda скелет pypi ПАКЕТ
conda build ПАКЕТ
будет выглядеть так, будто все работает, но мне не удалось успешно импортировать ПАКЕТ. Недавно я спросил об этом в группе пользователей Anaconda и услышал от самого @Travis Oliphant, как лучше всего использовать conda для создания пакетов, которые не поставляются с Anaconda, и управления ими. Вы можете прочитать эту ветку здесь , но я опишу подход ниже, чтобы, надеюсь, сделать ответы на вопрос OP более полными ...
Пример: я собираюсь установить отличный пакет prettyplotlib в Windows с помощью conda 2.2.5.
1а) conda build --build-recipe prettyplotlib
Вы увидите, что все сообщения сборки выглядят хорошо до последнего раздела ТЕСТ сборки. Я видел эту ошибку
Файл "C: \ Anaconda \ conda-bld \ test-tmp_dir \ run_test.py", строка 23 import None SyntaxError: невозможно присвоить значение None TESTS FAILED: prettyplotlib-0.1.3-py27_0
1b) Зайдите в / conda-recipes / prettyplotlib и отредактируйте файл meta.yaml. В настоящее время пакеты, настраиваемые, как на шаге 1a, приводят к файлам yaml с ошибкой в test
разделе. Например, вот как я искалprettyplotlib
test:
-
- prettyplotlib
- prettyplotlib
Отредактируйте этот раздел, чтобы удалить пустую строку, перед которой стоит -, а также удалите лишнюю строку prettyplotlib. На момент написания этой статьи я обнаружил, что мне нужно отредактировать большинство таких файлов meta.yaml для внешних пакетов, которые я устанавливаю с помощью conda, что означает, что есть пустая строка импорта, вызывающая ошибку вместе с избыточным импортом данного пакета .
1c) Повторите команду из 1a, которая на этот раз должна завершиться без ошибок. В конце сборки вас спросят, хотите ли вы загрузить сборку в binstar . Я ввел "Нет" и увидел это сообщение:
Если вы хотите загрузить этот пакет на binstar.org позже, введите:
$ binstar загрузить C: \ Anaconda \ conda-bld \ win-64 \ prettyplotlib-0.1.3-py27_0.tar.bz2
Этот файл tar.bz2 - это сборка, которую вам теперь нужно установить.
2) conda install C:\Anaconda\conda-bld\win-64\prettyplotlib-0.1.3-py27_0.tar.bz2
Следуя этим шагам, я успешно использовал conda для установки ряда пакетов, которые не поставляются с Anaconda. Раньше я устанавливал некоторые из них с помощью pip, поэтому я сделалpip uninstall PACKAGE
перед установкой PACKAGE с помощью conda. Используя conda, я теперь могу управлять (почти) всеми моими пакетами с помощью единого подхода, вместо того, чтобы устанавливать сочетание компонентов с помощью conda, pip, easy_install и python setup.py install.
Для контекста, я думаю, что эта недавняя запись в блоге @Travis Oliphant будет полезна для таких людей, как я, которые не ценят все, что входит в надежную упаковку Python, но определенно ценят, когда все «просто работает». conda кажется отличным шагом вперед ...
pip
установленныйconda
, например~/anaconda/bin/pip
. Используйте его для установки пакетов вconda
среду, а также для просмотра объединения пакетов, установленных с этимpip
и сconda install
.