← Back to issue list

Can't have two python3 parts using setuptools

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1531570
Type
issue
State
closed
Author
~bjornt
Labels
—
Created
Updated
Closed

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.