-
Notifications
You must be signed in to change notification settings - Fork 4
EIM-443 handle space in python path #370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
5f84c12 to
44badd0
Compare
alirana01
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question about the dual execution approach
Thanks for the fix! I have a question about the design:
With the new escaping in execute_command(), shell features like variable expansion ($HOME) and globs are now blocked. Given that:
| Function | Shell overhead | Handles spaces | Shell features |
|---|---|---|---|
execute_command() |
Yes | Yes (via escaping) | No (blocked by escaping) |
execute_command_direct() |
No | Yes (native) | No |
Question: What's the benefit of keeping execute_command() going through bash/PowerShell if escaping prevents shell features anyway? It seems like we now have shell overhead without shell benefits.
Suggestions
-
Could
execute_command()just callexecute_command_direct()internally? The only difference now is PATH resolution and shell environment. -
Only
create_python_venv()was updated to useexecute_command_direct(). Other functions inpython_utils.rsthat take python paths could also have space issues:detect_python_version()(line 401)run_python_script()(line 786)get_python_version()(line 818)
My apologies for asking clarifications in review
when you are saying |
and do we need to update the calls in these
as I believe one of the recent issue #366 could also be related to this |
You are completely right. It should be used in the whole process of the python module. I would swear i wrote it ... sorry. |
89746c2 to
43e02cf
Compare
f3d0eb5 to
6fd8dbf
Compare
6fd8dbf to
95602ca
Compare
7716ce1 to
03c52f3
Compare
03c52f3 to
d529adc
Compare
now space in python or scoop path should no longer be problem.