如何解析 pipenv 脚本中的环境变量 [Windows OS]

How to resolve env variables in pipenv scripts [Windows OS]

我想使用如下的东西:

[scripts]
docker_build = "docker build --build-arg PYPI_CREDS=$env:PYPI_CREDS -t myimage:latest ."

PYPI_CREDS 已经被 pipenv 从 .env 文件中定义和加载。 我正在使用 windows OS.

现在,它无法解析传入 docker_build 脚本的 env 变量,而 运行 就像 pipenv run docker_build

有什么解决办法吗?

这里也问了:https://github.com/pypa/pipenv/issues/3901#issuecomment-952131124

如您所确认,pipenv 使用 cmd.exe 而不是 PowerShell 来启动命令行。

因此,您必须使用cmd.exe的语法来引用环境变量PYPI_CREDS,即%PYPI_CREDS%(而不是PowerShell的语法$env:PYPI_CREDS):

[scripts]
docker_build = "docker build --build-arg PYPI_CREDS=%PYPI_CREDS% -t myimage:latest ."