python-poetry / python-poetry/poetry

Install of git package fails on Raspberry Pi (succeeds elsewhere) with PackageInfoError

Open
#2,898 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/bug status/triage
Dominant language
Python
Stars
34.3k
Forks
2.5k
Avg merge
2d 19h
Merged PRs (30d)
30

Description

Issue

Hi there,

So I'm using a colleague's public bitbucket repository (j_py_sad_correlation) as a dependency for some of my own work. I'm able to use poetry to install this as a dependency on my Arch Linux laptop; and they're also able to use poetry to install this as a dependency on their OsX system. However, when I try to use poetry to install my dependencies on a Raspberry Pi v4 with the latest Raspberry Pi OS and preview Poetry I get a PackageInfoError and, to be honest, I'm just not expert enough on packages to understand what's going on here.

I initially thought it might relate to an architecture problem in setup.py that we used to have (ARM processors required an additional flag at some point in the past) but I created a branch to test this (not shown) and got the same error. So it's not that.

Based on where in poetry this error is calling, it seems that poetry has recognised this is an old module and not pep517 compliant, has fallen back to using setup.py but, when calling setup.py to get egg_info, it fails. So that must work on both Arch Linux and OsX but not on Raspberry Pi OS? I have this vague recollection that pypi use to have some RPi issues due to eggs vs wheels but, again, not a package expert.

I'm expecting this is probably a problem in my colleague's setup.py, etc. that is not RPi compatible (although I can install this by cloning the repo and running python setup.py build; python setup.py install inside a clean poetry env). But the error isn't informative enough for me to understand whether this is true or not. One thing that could be useful is for the actual EnvCommandError to be passed back to the user on line 476 of inspection/info.py (although, tbh, I don't know what this error means either).

Any suggestions? Happy to provide more info if needed.

Thanks!
Chas

P.S. If this is a RPi-specific issue with install, could that also explain why on my laptop Pillow seems to be installed from pip in a matter of seconds but on the RPi it seems to be building from source and takes so long I gave up?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at line 476 of inspection/info.py and reproduce the dependency installation on Raspberry Pi OS using the linked debug output and pyproject.toml. Trace the setup.py egg_info failure and determine whether the underlying EnvCommandError can be surfaced clearly as the PackageInfoError; done means the failure cause is actionable for users.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.