yaml - 来自 .yaml 离线的 Conda 环境

标签 yaml offline conda

我想在离线机器(即无法访问互联网)上从 .yaml 文件创建一个 Conda 环境。在在线机器上,这工作得很好:

conda env create -f environment.yaml

但是,它在离线机器上不起作用,因为找不到包。我该怎么做?

如果那不可能,是否有另一种简单的方法可以将我的完整 Conda 环境转移到离线机器(包括 Conda 和 pip 安装包)?

一个一个地检查软件包以从 .tar.bz2 文件安装它们是可行的,但它非常麻烦,所以我想避免这种情况。

最佳答案

如果你可以使用 pip 安装包,你应该看看 devpi ,特别是它的服务器。 devpi 可以缓存通常从 PyPI 安装的包,因此只有在第一次安装时它才会真正检索它们。您必须配置 pip 以从 devpi 服务器检索包。

因为您不想手动列出所有包及其依赖项,所以您应该在连接到 Internet 的机器上:

  • 安装 devpi 服务器(我在 Docker 容器中运行)
  • 运行你的安装
  • 检查 devpi 存储库并从那里收集所有 .tar.bz2.whl 文件(您可能可以将整个文件打包)

在未连接的机器上:

  • 安装devpi服务器和客户端
  • 使用 devpi 客户端将您收集的所有包(使用 devpi upload)上传到 devpi 服务器
  • 确保您已配置 pip 以查看 devpi 服务器
  • 运行pip,它会找到本地服务器上的所有包。

devpi 有一个小的学习曲线,它已经值得遍历,因为速度和安装私有(private)包(即不上传到 PyPI)作为正常依赖的能力,只需生成包并将其上传到您本地的 devpi 服务器。

关于yaml - 来自 .yaml 离线的 Conda 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45805639/

相关文章:

go - 如何将动态 YAML 解码为 Go 中字符串 -> 字符串 -> 结构的映射?

amazon-web-services - 导出规则||允许流量流向所有以 10 开头的 cidr

python - Django调试工具栏1.8离线模式

python - Conda:当前 win-64 channel 中缺少包

python - YAML 中未解释的字符串

Ansible 发出有关 localhost 的警告

javascript - 从 native 代码访问 WebView 的 localStorage

python - 如何使 conda-build 正常工作并找到 setup.py?

python - 无效版本规范错误 : Invalid version spec: =2. 7