← Back to issue list

It's not possible to depend on a python package build by a different part

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1680538
Type
issue
State
closed
Author
~elopio
Labels
plugin
Created
Updated
Closed

Current evaluation

⚠️ This summary may be outdated — the issue content or evaluation prompts have changed since this evaluation was made.

Closed without resolution. The cross-part Python package dependency limitation was abandoned, leaving the $SNAPCRAFT_STAGE path workaround as the only available solution.

Suggested action:

No scores available.

Issue body

We found a weird case with certbot, where they have on their setup.py a dependency that is installed as part of their build process. So we need to build that package before pulling certbot, and make it available during the pull. This was the ugly solution we could find: parts:   acme:     source: acme     plugin: python   certbot: after: [acme]     source: .     plugin: python     python-packages: ['$SNAPCRAFT_STAGE/../parts/acme/packages/acme-0.13.0.dev0-py2.py3-none-any.whl] This specific case seems wrong on their side, to have the two packages on the same repo. However, it wouldn't be hard to imagine a case where you need a python package that is not in pip, so you have to build it in a different part.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Closed without resolution. The cross-part Python package dependency limitation was abandoned, leaving the $SNAPCRAFT_STAGE path workaround as the only available solution.
qwen/qwen3.6-35b-a3b Closed without resolution. The report details a limitation preventing dependencies on Python packages built in separate parts, requiring manual stage path workarounds. No fix was implemented.
qwen3.6-35b-a3b-mtp-q6 Closed without a fix. The limitation preventing Python parts from depending on packages built in other parts remains unresolved. The reported stage path workaround was not implemented.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1613899 Two python parts have common dependencies file conflicts occur snapcraft (launchpad) closed Closed without resolution or comments. The file conflict error when multiple Python parts share common dependencies was abandoned, likely superseded by updated Snapcraft staging logic.
73%
#1531570 Can't have two python3 parts using setuptools snapcraft (launchpad) closed 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.
72%
#5408 Unable to build usable Python snaps which use Ubuntu-provided python3-* dependencies using strict confinement with core24 using snapcraft 8.8.0 (8.x/stable) snapcraft closed Closed as completed. The author applied a PYTHONPATH workaround in snapcraft.yaml to access staged packages. Maintainers declined a code fix, marking the issue as a reference for a future Python plugin rewrite.
70%