opentelemetry-python-contrib
opentelemetry-python-contrib copied to clipboard
Executing opentelemetry-instrument.exe on an app with a path with space doesn't work
Describe your environment
OS: Windows Python version: 3.13.1 Package version: opentelemetry-instrument 0.50b0
What happened?
Trying to instrument an app with a space in the path doesn't appear to work.
Steps to Reproduce
D:\My Temp\AspireWithPython\InstrumentedPythonProject>.venv\Scripts\opentelemetry-instrument.exe --traces_exporter otlp --logs_exporter console,otlp --metrics_exporter otlp "D:\My Temp\AspireWithPython\InstrumentedPythonProject\.venv\Scripts\python.exe" app.py
D:\My: can't open file 'D:\\My Temp\\AspireWithPython\\InstrumentedPythonProject\\Temp\\AspireWithPython\\InstrumentedPythonProject\\.venv\\Scripts\\python.exe': [Errno 2] No such file or directory
Expected Result
I expect the app to run successfully.
Actual Result
The above error occurs:
D:\My: can't open file 'D:\\My Temp\\AspireWithPython\\InstrumentedPythonProject\\Temp\\AspireWithPython\\InstrumentedPythonProject\\.venv\\Scripts\\python.exe': [Errno 2] No such file or directory
Additional context
Initially reported through AddPythonApp crashes because it does not double quote paths with spaces in arguments list (dotnet/aspire#6841).
Would you like to implement a fix?
None
I don't know if there's something windows specific (double backward slackes looks suspicious) but it's saying that the path you provided as Python binary does not exist.
but it's saying that the path you provided as Python binary does not exist.
The binary does exist on disk.
I believe the opentelemetry-instrument.exe isn't parsing the arguments correctly. Check the very first characters of the output:
D:\My: can't open....
It is cutting off at the space in the folder My Temp
This may be relevant - https://www.reddit.com/r/learnpython/comments/ar7era/problem_with_path_with_spaces_using_osexecv/
i am having the exact same issue, can anyone help me with when this issue will be resolved or is there any workaround for this