← Back to issue list

Investigate dropping virtual envs from the python-based plugins

View original Github issue

Metadata

Project
rockcraft
Number
#746
Type
issue
State
open
Author
tigarmo
Labels
Created
Updated
Closed

Current evaluation

Investigate dropping virtual envs from python-based plugins to fix 24.04 usrmerge breakage and simplify sitecustomize/symlink handling. Last activity 381 days ago; venv-based approach still present in codebase.

Suggested action: keep open

Reason: The issue was filed by a maintainer (tigarmo) as an internal investigation task with a Jira ticket (CRAFT-3657), indicating it was triaged and acknowledged. The venv-based approach with sitecustomize is still present in the codebase (python_common.py, python_plugin.py), and the docs still reference python3-venv requirements. However, the project has since added a uv plugin (#792) and disabled uv/poetry in 25.10+ (5e1e3471), suggesting the plugin landscape has evolved. The issue remains relevant as the core venv+sitecustomize pattern persists in the python plugin, but the specific 24.04 usrmerge breakage may have been addressed by other means (e.g., #498 removing usrmerge-breaking symlinks).

Impact: 65 Quick Win: 19.5 Staleness: 55 Complexity: 70 Confidence: 60 Support Request: 5

Issue body

### What needs to get done Instead of creating a venv in the part's install dir and pip-installing the packages, pip-install them directly into the Python installation (which must always exist). ### Why it needs to get done The Python and Poetry plugins are currently broken in 24.04 because of the new usrmerge handling in noble. Might as well take this opportunity to address this "liability". This also lets us drop our custom sitecustomize, and bypasses the need to think about symlinks.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 65
Quick Win: 19.5
Staleness: 55
Complexity: 70
Confidence: 60
Support Request: 5
keep open Investigate dropping virtual envs from python-based plugins to fix 24.04 usrmerge breakage and simplify sitecustomize/symlink handling. Last activity 381 days ago; venv-based approach still present in codebase.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 60
Confidence: 75
Support Request: 10
needs triage Investigating removal of virtual environments from Python plugins to resolve Ubuntu 24.04 usrmerge breakage. Currently unlabelled, unassigned, and inactive for over a year with only an automated Jira sync comment.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 60
Confidence: 75
Support Request: 10
needs triage Investigate removing virtual environments from Python-based plugins to resolve Ubuntu 24.04 usrmerge issues and simplify architecture. Currently inactive since November 2024 with no labels, assignee, or maintainer follow-up.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 65
Confidence: 80
Support Request: 10
needs triage Investigate removing virtual environments from Python plugins to install packages directly into the system Python, addressing Ubuntu 24.04 usrmerge issues. Currently inactive with no maintainer triage or labels.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 70
Confidence: 75
Support Request: 10
needs triage Proposes replacing venvs in Python plugins with direct system Python pip installs to fix Ubuntu 24.04 usrmerge breakage and remove custom sitecustomize. Open and inactive for over 300 days, awaiting triage.

Update history

No update history recorded yet.

Related work

  • Related To: rockcraft#498 (confidence 70%)

    fix(lifecycle): remove usrmerge-breaking symlinks — addresses the same usrmerge issue on 24.04 that motivated this investigation

  • Related To: rockcraft#792 (confidence 60%)

    feat: add uv plugin — new plugin that may supersede the venv-based approach for some use cases

  • Related To: rockcraft#994 (confidence 55%)

    docs: add a reference doc for the new python plugin — suggests a new python plugin was introduced that may have changed the venv situation

Related issues

No related issues found above the similarity threshold.