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.