GNU bug report logs -
#52836
"guix import pypi" fails with "Failed to extract file from wheel" and "no requires.txt file found"
Previous Next
Reported by: bbb ee <blasforr <at> gmail.com>
Date: Mon, 27 Dec 2021 23:54:02 UTC
Severity: normal
Done: zimoun <zimon.toutoune <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#52836: "guix import pypi" fails with "Failed to extract file from wheel" and "no requires.txt file found"
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 52836 <at> debbugs.gnu.org.
--
52836: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52836
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi,
On ven., 31 déc. 2021 at 12:00, zimoun <zimon.toutoune <at> gmail.com> wrote:
> On Fri, 31 Dec 2021 at 11:15, bbb ee <blasforr <at> gmail.com> wrote:
>
>> > Is it a bug on Guix side or upstream? Because it seems that upstream
>> > does not provide metadata information, at least, as usually expected.
>>
>> `pip install PyPortfolioOpt`, `poetry add PyPortfolioOpt` runs for me. If other python package installer can run, I suppose the upstream is correct.
>
> Hum, not necessary. Well, I do not think that 'pip' uses all the
> metadata from PyPI to install. 'pip' does dirty things and yes it
> just works :-) But this does not imply that PyPortfolioOpt is
> correctly packaged as it is defined by PyPI standards. I do not know
> 'poetry'.
>
> Anyway. :-) I am not finding the PEP defining the Python packaging
> and the structure for a PyPI package. Because it is not clear for me
> if it is a bug on Guix side or upstream.
This package PyPortfolioOpt is badly packaged upstream. We cannot do
better than warn about the issue:
--8<---------------cut here---------------start------------->8---
$ guix import pypi PyPortfolioOpt
following redirection to `https://pypi.org/pypi/pyportfolioopt/json'...
Starting download of /tmp/guix-file.6rSGsS
From https://files.pythonhosted.org/packages/97/c2/c7569f2773f3e942367e90dcca15a235af3d3330ac8abfcbfbe67a8ba8dd/PyPortfolioOpt-1.5.1.tar.gz...
…t-1.5.1.tar.gz 56KiB 8.2MiB/s 00:00 [##################] 100.0%
Starting download of /tmp/guix-file.MFmUSK
From https://files.pythonhosted.org/packages/90/98/3906835b783ba39cfc613c7b0c0fde9c758c729ff3406d45f1c2a1116961/PyPortfolioOpt-1.5.1-py3-none-any.whl...
….1-py3-none-any.whl 60KiB 45.2MiB/s 00:00 [##################] 100.0%
guix import: warning: Failed to extract file: PyPortfolioOpt-1.5.1.dist-info/METADATA from wheel.
guix import: warning: Cannot guess requirements from source archive: no requires.txt file found.
guix import: warning: project name pyportfolioopt does not appear verbatim in the PyPI URI
hint: The PyPI URI is:
`https://files.pythonhosted.org/packages/97/c2/c7569f2773f3e942367e90dcca15
a235af3d3330ac8abfcbfbe67a8ba8dd/PyPortfolioOpt-1.5.1.tar.gz'. You should
review the pypi-uri declaration in the generated package. You may need to
replace "pyportfolioopt" with a substring of the PyPI URI that identifies
the package.
(package
(name "python-pyportfolioopt")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyportfolioopt" version))
(sha256
(base32 "162d6jyvba0xk2blssbp52rrjqpjv011h988k150p1fg7x7nzbs9"))))
(build-system python-build-system)
(home-page "https://github.com/robertmartin8/PyPortfolioOpt")
(synopsis "Financial portfolio optimization in python")
(description "Financial portfolio optimization in python")
(license license:expat))
--8<---------------cut here---------------end--------------->8---
Therefore, I am closing. Feel free to reopen if I missed a point.
Cheers,
simon
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Hello,
I have encounter a issue with "guix import pypi" :
```
guix import: warning: Failed to extract file:
PyPortfolioOpt-1.5.1.dist-info/METADATA from wheel.
guix import: warning: Cannot guess requirements from source archive: no
requires.txt file found.
```
## reproduce the bug
```
(base) guix import pypi PyPortfolioOpt
following redirection to `https://pypi.org/pypi/pyportfolioopt/json'...
Starting download of /tmp/guix-file.mwZdLg
From
https://files.pythonhosted.org/packages/97/c2/c7569f2773f3e942367e90dcca15a235af3d3330ac8abfcbfbe67a8ba8dd/PyPortfolioOpt-1.5.1.tar.gz.
..
…t-1.5.1.tar.gz 56KiB 2.7MiB/s 00:00 [##################]
100.0%
Starting download of /tmp/guix-file.mHBgak
From
https://files.pythonhosted.org/packages/90/98/3906835b783ba39cfc613c7b0c0fde9c758c729ff3406d45f1c2a1116961/PyPortfolioOpt-1.5.1-py3-none-any.whl.
..
….1-py3-none-any.whl 60KiB 2.1MiB/s 00:00 [##################]
100.0%
guix import: warning: Failed to extract file:
PyPortfolioOpt-1.5.1.dist-info/METADATA from wheel.
guix import: warning: Cannot guess requirements from source archive: no
requires.txt file found.
(package
(name "python-pyportfolioopt")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyportfolioopt" version))
(sha256
(base32 "162d6jyvba0xk2blssbp52rrjqpjv011h988k150p1fg7x7nzbs9"))))
(build-system python-build-system)
(home-page "https://github.com/robertmartin8/PyPortfolioOpt")
(synopsis "Financial portfolio optimization in python")
(description "Financial portfolio optimization in python")
(license license:expat))
(base) guix describe
Generation 220 Dec 27 2021 12:01:04 (current)
guix 9bbbac6
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 9bbbac6783bcdace17d967e85c8ae8d14cbf1ef9
```
## additional information
This user has encountered a similar issue for "guix import pypi httpie"
https://www.mail-archive.com/bug-guix <at> gnu.org/msg14277.html
However "guix import pypi httpie" runs for my version of guix.
[Message part 5 (text/html, inline)]
This bug report was last modified 3 years and 75 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.