← Back to issue list

Two python3 parts using setuptools are always conflicting on core22

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#2080356
Type
issue
State
open
Author
~gbeuzeboc
Labels
Created
Updated
Closed

Current evaluation

Multiple python3 parts in core22 conflict on venv and __pycache__ files; untriaged feature request for better handling

Suggested action: needs triage

Reason: The issue has no labels, no maintainer response, and no assignee after 723 days. While the bug report is clear with reproduction steps and a workaround, it has not been assessed or prioritized by maintainers. The reporter identifies a legitimate conflict between multiple python3 parts using setuptools in core22, suggesting the python plugin should handle this better.

Impact: 55 Quick Win: 30.25 Staleness: 85 Complexity: 45 Confidence: 55 Support Request: 25

Issue body

Two python3 parts using setuptools are always conflicting. This is due to the venv files as well as the __pycache__ files that are based on different paths. It seems basic to embed two projects in one snapcraft.yaml, but is not possible without having to play with the stage keyword. Starting from the basic example of the doc and adding a hello world found on GH gives: snapcraft.yaml: name: liquidctl base: core22 summary: a status and control utility to for power, cooling and LED components description: | ... adopt-info: liquidctl grade: stable confinement: strict apps: liquidctl: command: bin/liquidctl plugs: - raw-usb - uhid - hardware-observe parts: liquidctl: plugin: python source-type: git source: https://github.com/liquidctl/liquidctl override-pull: | snapcraftctl pull snapcraftctl set-version \ "$(git describe --long --tags --always --match=v*.*.* | sed 's/v//')" stage-packages: - python3-usb hello-world: plugin: python source-type: git source: https://github.com/buildbot/hello-world Building this snap fails due to "parts 'liquidctl' and 'hello-world' list the following files, but with different contents or permissions" regarding the following files: bin/activate bin/activate.fish bin/activate.csh A lot of the __pycache__/*.pyc files some .dist-info/RECORD files All of that is due to the fact that both parts have virtual environment located in different path. Only solution I could find is using stage: - -bin/activate* - -**/__pycache__/* - -**/RECORD Additionally, specifying a SNAPCRAFT_PYTHON_VENV_ARGS in one of the part will result in an additional conflict. Maybe such behaviour could be handled nicely by the python plugin.

Evaluation history

Date Model Scores Action Summary
qwen3.6-35b-a3b-mtp-q6
Impact: 55
Quick Win: 30.25
Staleness: 85
Complexity: 45
Confidence: 55
Support Request: 25
needs triage Multiple python3 parts in core22 conflict on venv and __pycache__ files; untriaged feature request for better handling
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 65
Confidence: 85
Support Request: 20
needs triage Two Python parts using setuptools conflict on core22 due to differing venv and pycache paths. Unlabelled, zero maintainer comments, inactive for 680 days.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 70
Confidence: 75
Support Request: 10
needs triage Technical bug report detailing path conflicts when packaging two Python setuptools parts in Snapcraft. Issue remains unlabelled and unassessed by maintainers after 1.8 years of inactivity.
qwen3.6-35b-a3b-mtp-q6
Staleness: 92
Complexity: 60
Confidence: 75
Support Request: 20
needs triage Two python3 parts using the snapcraft python plugin conflict on core22 due to overlapping venv, pycache, and dist-info files. Untriaged, inactive for over 1.8 years, no maintainer response.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 45
Confidence: 75
Support Request: 10
close stale Two python3 parts using setuptools conflict on core22 due to differing venv and pycache paths. Unlabelled, 0 comments, inactive for 1.8 years. Suggests plugin improvement.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.