Using python virtual environment for ROS2 on windows
It seems that the installation procedure of ROS2 under windows is depending on a python installation in C:\Python37. (As a side node, the recommended "choco install -y python" now installs python 3.8, which is not intended).
I was following the procedure mentioned here https://index.ros.org/doc/ros2/Instal... to install dashing ROS2 on windows. I found out that the ROS2 distribution has a hardcoded dependency on a python 3.7 installation in C:\Python37.
Because we are using python for different projects which may involve or not involve ROS2, I would like to use a python virtual environment for ROS2. However, it seems that this is not supported, because the scripts using the hardcoded shebang
#!c:\python37\python.exe
Even when placing the virtual environment in C:\Python37, the shebang is incorrect, because python would be in
#!c:\python37\Scripts\python.exe
instead. So I am getting errors like "failed to create process" when running ros2. Using "python ros2-script.py" instead works though (assuming an activated virtual environment). Changing the shebang would work in principle, but which scripts should I change?
Is it planned to have an installer in the future who cares about these things?
Doesn't Windows ignore the shebang? Or are you using some launcher that takes it into account?
Well, it seems that changing the shebang has an effect. Actually I'm using ros2.exe which fails with original shebang and it runs fine with the changed shebang in ros2-script.py