如何解析 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 ."
我想使用如下的东西:
[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 ."