Can't have two python3 parts using setuptools
Metadata
Current evaluation
Resolved after the two setuptools-based Python3 parts built successfully on current master; the reported generated-file collision no longer occurred.
Resolution: closed resolved
Reason: On 2016-09-23, maintainer ~sergiusens reported that the latest snapcraft master no longer reproduced the collision and demonstrated the original two-part snapcraft.yaml building. The contemporaneous Python-plugin .pth change in snapcraft#822 (commit 66f6f782f7) is the likely fixing change.
Evaluated by: mr-cal-bot
No scores available.
Issue body
If two python3 parts use setuptools, building a snap will fail since some common files have different contents:
Error: parts treac and pysmbus have the following file paths in common which have different contents:
usr/lib/python3/dist-packages/easy-install.pth
usr/lib/python3/dist-packages/pip-7.1.2-py3.4.egg/EGG-INFO/entry_points.txt
usr/lib/python3/dist-packages/pysmbus-0.1.egg-info/SOURCES.txt
The latter two are intermittent. They don't always conflict. But the first one will always conflict.
An example of a snapcraft.yaml that produces this error:
name: treac
version: 0
vendor: Bjorn Tillenius <email address hidden>
binaries:
treacd:
exec: usr/bin/treac
summary: TREAC - The Treadmill Controller
description: Provides an API for controlling a treadmill on a Raspberry Pi
icon: icon.png
parts:
treac:
plugin: python3
source: git://github.com/bjornt/treac
pysmbus:
plugin: python3
source: git://github.com/bjornt/pysmbus
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Resolved after the two setuptools-based Python3 parts built successfully on current master; the reported generated-file collision no longer occurred. | |
| stealth/space-bunny-alpha | — | closed resolved | Resolved by snapcraft#119 (merge a06a75e70): setuptools easy-install.pth handling changed, and maintainers confirmed master could build the two-part example without conflicts. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed setuptools path conflicts between Python 3 parts via merged PR #119 (commit 4565590b1), preserving easy-install .pth files and wrapping their configuration. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution or comments. The setuptools file conflict between multiple python3 parts remains unresolved, indicating the report was abandoned or superseded by updated snapcraft packaging logic. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution or comments. The build conflict report was likely abandoned or superseded by upstream changes to snapcraft and Python packaging standards over the past decade. | |
| qwen/qwen3.6-35b-a3b | — | — | Build failures from conflicting setuptools files in multiple python3 parts were not addressed. The report was closed without a fix or workaround, effectively abandoned due to age. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. Multiple python3 parts using setuptools cause snapcraft build failures due to dist-packages file conflicts. No comments or fixes were implemented. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#822
(confidence 85%)
Repository history records a Python-plugin change addressing .pth-file handling around the issue closure.
Related issues
No related issues found above the similarity threshold.