python-poetry / python-poetry/poetry
Install of git package fails on Raspberry Pi (succeeds elsewhere) with PackageInfoError
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 34.3k
- Forks
- 2.5k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 30
Description
-
I am on the latest Poetry version.
- I have run
poetry self update --preview
- I have run
-
I have searched the issues of this repo and believe that this is not a duplicate.
-
If an exception occurs when executing a command, I executed it again in debug mode (
-vvvoption). -
OS version and name: Linux raspberrypi 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
-
Poetry version: Poetry version 1.1.0b2
-
Link of a Gist with the contents of your pyproject.toml file: https://gist.github.com/ChasNelson1990/6964153b4d5277518334716ac79f3a81
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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