Hi Ehsan,
Thank you for the detailed explanation and the swimlane charts illustrating the differences between running Python scripts in standard environments and within Rhino. Your clarification on why Rhino currently handles Python virtual environments (venvs) in this unique way is insightful.
I understand the challenges of maintaining a stable platform for users at all levels and the potential for conflicts when multiple venvs are used within the same Rhino instance. However, as an advanced user who raises this question, I often find myself needing more control over the development environment, including the ability to manage dependencies through pip
and virtual environments. This control is especially crucial when working with complex projects that require specific versions of libraries or when integrating external Python tools.
I believe that while the current system ensures stability, it may limit advanced users who are accustomed to a more flexible Python development workflow. Perhaps a compromise could be introducing an advanced mode or an option for users to opt-in for more control over their environments. This way, users who are comfortable managing potential conflicts could take advantage of Rhino’s full capabilities alongside their preferred Python development tools.
I am looking forward to any developments in this area and would be happy to provide more feedback or participate in a beta testing phase if that would be helpful.
Best regards,
Shiqi