使用Python项目requirements.txt作为Guix包定义的输入?

使用Python项目requirements.txt作为Guix包定义的输入?

我有一个由朋友制作的现有 Python 项目,其中包含requirements.txt通常pip install -r使用的 .未发布到 PyPI 的项目。假设我想使用 Guix 作为包管理器来提供开发环境/shell/virtualenv,同时提供 Python 本身和 python 模块,但不想保留所需包和版本的单独列表。是否可以使用requirements.txt作为 Guix 包定义的输入?

答案1

不幸的是,目前不支持此功能。 Guix 包名称不能保证映射到 PyPI 上使用的包名称,并且任何一个版本的 Guix 通常只提供每个包的一到两个版本。 requirements.txt 格式还有一系列选项,例如从任意 Git 存储库安装,这些存储库与 Guix 中的包不对应。

这是一个东西可以将来可能会针对requirements.txt功能的子集完成。

如果您想坚持使用 Guix,您可以创建一个与guix-requirements.scm您的requirements.txt 重复的文件。也许是这样的:

(use-modules (guix)
             (gnu packages python)
             (gnu packages python-web))
(package
  (name "my-project-env")
  (propagated-inputs `(("python" ,python)
                       ("python-flask" ,python-flask))))

运行与guix environment -l guix-requirements.scm.

调用guix环境了解更多。

相关内容