未能创建 anaconda 环境 ResolvePackageNotFound
failed to create anaconda environment ResolvePackageNotFound
我一直在尝试使用这个 yml 文件来创建环境(我创建了 yml):
name: testenv
channels:
- esri
- scitools
- obspy
- conda-forge
- defaults
dependencies:
- appnope=0.1.0=py36_0
- libgfortran=3.0.0=0
- pip=9.0.1=py36_0
- python=3.6.2=0
- wheel=0.30.0=py_1
- pip:
- ipython-genutils==0.2.0
- jupyter-client==5.1.0
- jupyter-console==5.1.0
- jupyter-core==4.3.0
- prompt-toolkit==1.0.15
但是它总是失败并显示以下错误消息:
Using Anaconda API: https://api.anaconda.org
Solving environment: failed
ResolvePackageNotFound:
- wheel==0.30.0=py_1
- appnope==0.1.0=py36_0
是不是找错频道了?如果我只是将它们安装在基本的 conda 安装中,我就可以找到这些包。感谢您的帮助。
问题是 Anaconda 没有骗我。这些软件包不存在于 linux 频道中,但它们确实存在于 OSX 频道中。所以这是一个特定于平台的问题。
有同样的问题。通过删除构建版本和包版本来解决它(除了必要的包版本,例如 python=3.6.2
和任何其他版本。)为了完全跨平台,最终的 yml 文件看起来像这样:
name: testenv
channels:
- esri
- scitools
- obspy
- conda-forge
- defaults
dependencies:
- appnope
- libgfortran
- pip
- python=3.6.2
- wheel
- pip:
- ipython-genutils
- jupyter-client==5.1.0
- jupyter-console
- jupyter-core
- prompt-toolkit
有时发现 pip
在包版本控制方面比 anaconda
做得更好。所以在 "activating" 那个蟒蛇环境之后,我
while read req; do conda install --yes $req || pip install $req; done < ./requirements.txt
这样我首先使用 anaconda,如果失败我尝试 pip
。请注意,我建议 "activating" anaconda 环境然后 运行 上面的命令否则它会污染全局 pip 池。
扩展@msamon 的答案。我有同样的错误,他们的回答解决了 90% 的问题。然而,仍然有一些包裹仍然无法解决。这是因为某些 Windows installations/packages 将具有 Windows 特定的库,这些库当然永远不会在 Linux.
上可用
解决方案是删除版本控制值,运行 再次安装 Conda 环境,然后从 .yml 中完全删除任何标记为不存在的剩余包。让 Conda 处理任何由此产生的缺失依赖项 and/or 重构您的代码以使用在 Linux 频道上有分布的不同库。
我通过 Conda4 使用 .yml 从 Windows 10 机器到安装了 Python3.6 的 Linux 远程机器验证了这种环境转移方法。 9.2.
我一直在尝试使用这个 yml 文件来创建环境(我创建了 yml):
name: testenv
channels:
- esri
- scitools
- obspy
- conda-forge
- defaults
dependencies:
- appnope=0.1.0=py36_0
- libgfortran=3.0.0=0
- pip=9.0.1=py36_0
- python=3.6.2=0
- wheel=0.30.0=py_1
- pip:
- ipython-genutils==0.2.0
- jupyter-client==5.1.0
- jupyter-console==5.1.0
- jupyter-core==4.3.0
- prompt-toolkit==1.0.15
但是它总是失败并显示以下错误消息:
Using Anaconda API: https://api.anaconda.org
Solving environment: failed
ResolvePackageNotFound:
- wheel==0.30.0=py_1
- appnope==0.1.0=py36_0
是不是找错频道了?如果我只是将它们安装在基本的 conda 安装中,我就可以找到这些包。感谢您的帮助。
问题是 Anaconda 没有骗我。这些软件包不存在于 linux 频道中,但它们确实存在于 OSX 频道中。所以这是一个特定于平台的问题。
有同样的问题。通过删除构建版本和包版本来解决它(除了必要的包版本,例如 python=3.6.2
和任何其他版本。)为了完全跨平台,最终的 yml 文件看起来像这样:
name: testenv
channels:
- esri
- scitools
- obspy
- conda-forge
- defaults
dependencies:
- appnope
- libgfortran
- pip
- python=3.6.2
- wheel
- pip:
- ipython-genutils
- jupyter-client==5.1.0
- jupyter-console
- jupyter-core
- prompt-toolkit
有时发现 pip
在包版本控制方面比 anaconda
做得更好。所以在 "activating" 那个蟒蛇环境之后,我
while read req; do conda install --yes $req || pip install $req; done < ./requirements.txt
这样我首先使用 anaconda,如果失败我尝试 pip
。请注意,我建议 "activating" anaconda 环境然后 运行 上面的命令否则它会污染全局 pip 池。
扩展@msamon 的答案。我有同样的错误,他们的回答解决了 90% 的问题。然而,仍然有一些包裹仍然无法解决。这是因为某些 Windows installations/packages 将具有 Windows 特定的库,这些库当然永远不会在 Linux.
上可用解决方案是删除版本控制值,运行 再次安装 Conda 环境,然后从 .yml 中完全删除任何标记为不存在的剩余包。让 Conda 处理任何由此产生的缺失依赖项 and/or 重构您的代码以使用在 Linux 频道上有分布的不同库。
我通过 Conda4 使用 .yml 从 Windows 10 机器到安装了 Python3.6 的 Linux 远程机器验证了这种环境转移方法。 9.2.