我遵循@Viktor Kerkez 的回答并取得了喜忧参半的成功。我发现有时这个食谱
conda 骨架 pypi 包
conda 构建包
看起来一切正常,但我无法成功导入 PACKAGE。最近我在Anaconda 用户组上询问了这个问题,并从 @Travis Oliphant 本人那里听到了使用 conda 构建和管理不随 Anaconda 提供的软件包的最佳方式。您可以在此处阅读此线程,但我将在下面描述该方法,以希望使 OP 问题的答案更加完整...
示例:我将使用 conda 2.2.5 在 Windows 上安装出色的prettyplotlib 包。
1a) conda build --build-recipe prettyplotlib
在构建的最后 TEST 部分之前,您会看到构建消息看起来都很好。我看到了这个错误
文件“C:\Anaconda\conda-bld\test-tmp_dir\run_test.py”,第 23 行 import None SyntaxError: cannot assign to None TESTS FAILED: prettyplotlib-0.1.3-py27_0
1b)进入 /conda-recipes/prettyplotlib 并编辑 meta.yaml 文件。目前,在步骤 1a 中设置的包会导致 yaml 文件在该test
部分中有错误。例如,这是我的查找方式prettyplotlib
test: # Python imports imports:
-
- prettyplotlib
- prettyplotlib
编辑此部分以删除前面的空行 - 并删除多余的 prettyplotlib 行。在撰写本文时,我发现我需要为使用 conda 安装的外部包编辑大多数 meta.yaml 文件,这意味着有一个空白导入行导致错误以及给定包的冗余导入.
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
在使用 conda 安装 PACKAGE 之前这样做了。使用 conda,我现在可以用一种方法管理(几乎)我的所有包,而不是使用 conda、pip、easy_install 和 python setup.py install 安装混合的东西。
就上下文而言,我认为@Travis Oliphant最近的这篇博客文章对于像我这样不欣赏强大的 Python 包装中的所有内容但肯定会欣赏“正常工作”的人会有所帮助。conda 似乎是一个很好的前进方向......