简体   繁体   中英

How to pass an environment variable as a command line parameter in Run/Debug configuration in PyCharm?

I am trying to learn PyCharm, need to pass an environment variable as a command line parameter to my process, eg execute an equivalent of myScript.py -u $myVar on Linux, or myScript.py -u %myVar% on Windows.

How do I specify that in the PyCharm configuration? I don't want my script to depend on the name myVar , just on the content of that environment variable.

thank you very much

in PyCharm Run/Debug configuration for "Script Parameters:" Enter

-u ${myVar}

Note: This will work only for existing env. variables but not for env. variables that you set up in the PyCharm Run/Debug configuration. For that to work, you will need to look into "Before Launch" configuration

I wasn't able to define new env vars for passing them to Run/Debug configuration (as suggested by @alok-a), even if defining them on a script executed in "Before Launch". For notice, I'm using PyCharm 2018.3.4.

The workaround that works for me is to create a python script that prepare the full command line and calls it using the subprocess module.

import subprocess

# Build params line

cmd = ["python", script_path] + params.split()

subprocess.run(cmd)

Set your breakpoints in the target script (the one indicated by script_path).

Run the newly created wrapper script and have a happy debugging. Not a charming solution, but it works at least.

Go to Edit configurations > Environment variables. Add or edit. 在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM