Home > Back-end >  How to resolve env variables in pipenv scripts [Windows OS]
How to resolve env variables in pipenv scripts [Windows OS]

Time:10-28

I want to use something like below:

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

Whereas PYPI_CREDS has already been defined and loaded by pipenv from .env file. I am using windows OS.

Now, it is not able to resolve the env variable passed in docker_build script while running it like pipenv run docker_build

Any solution for this?

Also asked here: https://github.com/pypa/pipenv/issues/3901#issuecomment-952131124

CodePudding user response:

As you've confirmed, pipenv uses cmd.exe, not PowerShell, to launch command lines.

Therefore, you must use cmd.exe's syntax to refer to environment variable PYPI_CREDS, namely %PYPI_CREDS% (rather than PowerShell's syntax, $env:PYPI_CREDS):

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