← Back to issue list

Two python parts in the same snapcraft.yaml result in not installing the python correctly

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1617907
Type
issue
State
open
Author
~liu-xiao-guo
Labels
Created
Updated
Closed

Current evaluation

Stage-time file conflict when two python3 parts share the same interpreter in one snapcraft.yaml (snapcraft 2.14, ~2019). No labels, 0 comments, no maintainer interaction in ~10 years; the old python plugin was later rewritten, so the conflict no longer applies.

Suggested action: close stale

Reason: The issue is ~10 years old (snapcraft 2.14 era) with 0 comments, no labels, and no maintainer interaction, and it describes a known limitation of the legacy python plugin that installed the full interpreter into every part. The related Launchpad bug 1613899 (same two-python-parts conflict) was closed as superseded by updated staging logic, and the python plugin has since been rewritten to use virtualenvs, so the reported conflict is no longer reproducible in current snapcraft. Note: repo code tools were unavailable (no pinned SHA), so the plugin rewrite is based on the related-issue evidence and general project history rather than direct code inspection.

Impact: 20 Quick Win: 10.0 Staleness: 95 Complexity: 50 Confidence: 65 Support Request: 50

Issue body

I have a snapcraft.yaml file like: name: sensortag version: "1.0" summary: SensorTag Python Bluetooth LE implementation description: API and command line tools for Python Bluetooth Low Energy access confinement: devmode apps: sensortag: command: usr/bin/sensortag sensordata: command: usr/bin/sensordata blescan: command: usr/bin/blescan # mosquito server mosquitto: command: usr/sbin/mosquitto -c $SNAP/mosquitto.conf daemon: simple plugs: [network, network-bind] # mosquitto subscriber subscribe: command: bin/subscribe plugs: [network, network-bind] parts: bluepy: plugin: python3 source: https://github.com/liu-xiao-guo/bluepy source-type: git build-packages: [libglib2.0-dev] # snap: # - -usr/bin mosquitto: plugin: copy stage-packages: [mosquitto] files: mosquitto.conf: mosquitto.conf mqtt-client: plugin: copy files: subscribe.py: bin/subscribe after: [mqtt-paho/python3] In this project, there are two python3 parts: - mqtt-client - bluepy When I try to build the project, and I get the following error: Writing /home/liuxg/snappy/desktop/sensortag/parts/mqtt-paho⧸python3/install/home/liuxg/snappy/desktop/sensortag/parts/mqtt-paho⧸python3/install/usr/lib/python3/dist-packages/paho_mqtt-1.1.egg-info Parts 'mqtt-paho/python3' and 'bluepy' have the following file paths in common which have different contents: usr/bin/2to3-3.5 usr/bin/easy_install3 usr/bin/py3clean usr/bin/py3compile usr/bin/pydoc3.5 usr/lib/python3.5/base64.py usr/lib/python3.5/cProfile.py usr/lib/python3.5/cgi.py usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/python-config.py usr/lib/python3.5/distutils/command/build_scripts.py usr/lib/python3.5/encodings/rot_13.py usr/lib/python3.5/idlelib/EditorWindow.py usr/lib/python3.5/idlelib/PyShell.py usr/lib/python3.5/keyword.py usr/lib/python3.5/lib2to3/pgen2/token.py usr/lib/python3.5/pdb.py usr/lib/python3.5/platform.py usr/lib/python3.5/profile.py usr/lib/python3.5/pydoc.py usr/lib/python3.5/quopri.py usr/lib/python3.5/smtpd.py usr/lib/python3.5/smtplib.py usr/lib/python3.5/symbol.py usr/lib/python3.5/tabnanny.py usr/lib/python3.5/tarfile.py usr/lib/python3.5/test/pystone.py usr/lib/python3.5/test/regrtest.py usr/lib/python3.5/timeit.py usr/lib/python3.5/trace.py usr/lib/python3.5/uu.py usr/lib/python3.5/webbrowser.py usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg/pip/_vendor/distlib/scripts.py usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg/pip/_vendor/distlib/wheel.py usr/lib/python3/dist-packages/pip-8.1.2-py3.5.egg/pip/wheel.py usr/lib/python3/dist-packages/setuptools/command/easy_install.py usr/share/dh-python/dh_pypy usr/share/dh-python/dh_python2 usr/share/dh-python/dh_python3 usr/share/dh-python/dhpython/_defaults.py usr/share/dh-python/dhpython/interpreter.py usr/share/dh-python/pybuild usr/share/python3/debpython/interpreter.p It can be found at http://paste.ubuntu.com/23106210/ Basically, I need to find a way to avoid the conflicts between the two parts since they both have the same common component: python liuxg@liuxg:~/snappy/desktop/sensortag$ snapcraft --version 2.14 Thanks!

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 20
Quick Win: 10.0
Staleness: 95
Complexity: 50
Confidence: 65
Support Request: 50
close stale Stage-time file conflict when two python3 parts share the same interpreter in one snapcraft.yaml (snapcraft 2.14, ~2019). No labels, 0 comments, no maintainer interaction in ~10 years; the old python plugin was later rewritten, so the conflict no longer applies.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 25
Confidence: 92
Support Request: 85
close stale Build fails due to path conflicts when using multiple python3 parts in snapcraft v2.14. User seeks a way to avoid shared Python file conflicts between parts.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 15
Confidence: 90
Support Request: 85
close stale Build fails due to file conflicts between two python3 parts in Snapcraft 2.14. Issue is nearly 10 years old and references an obsolete tool version no longer supported.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 20
Confidence: 90
Support Request: 60
close stale Snapcraft build fails due to file path conflicts between two python3 parts. No maintainer response or labels; issue is nearly 10 years old and uses obsolete snapcraft 2.14.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 35
Confidence: 92
Support Request: 75
close stale Multiple python3 parts in a single snapcraft.yaml cause staging conflicts from overlapping standard library and pip paths. The issue remains open, unassigned, and lacks comments, awaiting triage.

Update history

No update history recorded yet.

Related work

  • Duplicate Of: snapcraft (launchpad)#1613899 (confidence 70%)

    Same reported symptom: two python parts with common dependencies produce file-path conflicts with different contents; that bug was closed without resolution as superseded by updated staging logic.

Related issues

No related issues found above the similarity threshold.