我有一个由朋友制作的现有 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环境了解更多。