我想使用如下代码:
[scripts]
docker_build = "docker build --build-arg PYPI_CREDS=$env:PYPI_CREDS -t myimage:latest ."
而PYPI_CREDS
已经被pipenv从.env
文件中定义和加载。我用的是windows操作系统。
现在,它不能解决在docker_build
脚本传递的环境变量,而运行它像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 ."