跳转到主要内容

NixML:使用nix + YAML的可重复环境

项目描述

NIX-ML:使用Nix + YAML的简单、可重复的环境

使用YAML文件指定的简单、完美可重复的环境。

例如,将内容写入名为env.nml的文件中。

nixml: v0.0
snapshot: stable-19.03
packages:
  - lang: python
    version: 2
    modules:
      - numpy
      - scipy
      - matplotlib
      - mahotas
      - jupyter
      - scikitlearn

现在,运行

nixml shell

你将进入一个包含上述包的环境,这些包在2019年3月是最新的。从概念上讲,环境将始终从头开始生成,但由于缓存,第一次将需要更长的时间(包括,它将下载所有依赖项)。之后,最多只需几秒钟。

此环境将类似于典型的conda/pip/virtualenv/...环境:它将在PATH的前面放置相应的二进制文件,以便以高优先级选择,但,你也可以生成一个纯环境,它将只包含你指定的。这避免了意外使用不属于环境中的包

nixml shell --pure

最后,你可以运行

nixml generate

以仅创建对应于环境的nixml.nix

依赖项

NIXML格式

它是一个YAML文件

nixml:要使用的nixml版本。目前,仅支持v0.0

snapshot:这是要使用的包版本。目前,只有stable-19.03可用,但通用语法是{stable,unstable}-{year}.{month}

packages:包列表,这些包被分组到语言块中。目前支持

  • python:Python语言环境,指定版本(version)和modules
  • texlive:TeXlive包
  • nix:通用包(例如,vimbash

作者

项目详情


下载文件

下载适用于您平台的应用文件。如果您不确定选择哪个,请了解更多有关安装包的信息。

源代码分发

nixml-0.2.tar.gz (8.4 kB 查看哈希值

上传时间 源代码

由以下支持