It's not possible to depend on a python package build by a different part
Metadata
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. | |
| #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. | |
| #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. |