0

我是 Python 新手,Anaconda 环境,conda,pip,所有这些,所以如果这些是简单的问题,请多多包涵。我已经问过几个关于这个安装的问题,到目前为止已经解决了。这是我以前的问题。我所有的问题都与 conda-build 元文件有关,这些元文件不起作用,需要一些手工编辑才能成功。

背景:

我正在尝试在我的 Python 中安装名为 ibm-watson 的包,该包位于从我的基本环境克隆的单独 conda 环境中。这是为了支持 Coursera 课程。课件通过 pip 安装在其自己的 Jupyter 窗口中构建此包。我想在自己的环境中构建示例,并且在很多人的推荐下我在 Anaconda 工作。

当我第一次遇到我无法弄清楚的 conda-build 问题时,我决定尝试 pip。这行得通,但导致了其他问题(在线文章警告过)。Conda(我读过)不知道用 pip 安装的东西,这会破坏它管理包和环境的能力。所以我决定退出 pip 安装并尝试让它与 conda 一起工作。

第一个问题:为什么 pip install 可以正常工作并递归地构建所有依赖项,而 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 开发人员只是在他们的测试中粗心大意,还是 conda 有问题,还是我使用了所有这些错误?

最后,真正的问题

我必须构建的最后一个依赖项是从 PyPi 安装的 python-dotenv。我和其他人一样用 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] 的有效食谱”。

4

0 回答 0