Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 738132 - dev-python/pipenv-2020.6.2 fails tests
Summary: dev-python/pipenv-2020.6.2 fails tests
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: OzTiram
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-20 05:08 UTC by Agostino Sarubbo
Modified: 2021-07-22 18:49 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,199.80 KB, text/plain)
2020-08-20 05:08 UTC, Agostino Sarubbo
Details
Stack trace after removing appdirs (stack_trace,1.04 KB, text/plain)
2020-10-05 09:32 UTC, Dave Wiltshire
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2020-08-20 05:08:28 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-python/pipenv-2020.6.2 fails tests.
Discovered on: amd64 (internal ref: tinderbox)

NOTE:
This machine uses a clang/LLVM toolchain.
If you think that this issue is strictly related to clang/LLVM please block bug 408963. If you think that this issue is strictly related to the LLD linker, please block bug 731004.
This machine uses also GLIBC-2.32. If you think that this issue is strictly related to GLIBC please block bug 736174.
Comment 1 Agostino Sarubbo gentoo-dev 2020-08-20 05:08:31 UTC
Created attachment 655604 [details]
build.log

build log and emerge --info
Comment 2 Dave Wiltshire 2020-10-04 04:28:46 UTC
I think there are missing RDEPENDS in the pipenv ebuild, I couldn't get it to run after installing either.  Can you check this pull request to see if it fixes it:

https://github.com/gentoo/gentoo/pull/17706/commits/87c046114ef666962ab83761ae721264afd89928
Comment 3 OzTiram 2020-10-04 10:37:13 UTC
@Dave Wiltshire, 
I can't confirm that absence of appdirs is the cause for the failure you see.

I removed appdirs from my system and ran the tests, and they still pass.

However, removing six *will break* the tests, since pytest depends on it.

```
copying pipenv/vendor/backports/enum/LICENSE -> /var/tmp/portage/dev-python/pipenv-2020.6.2/work/pipenv-2020.6.2-python3_7/lib/pipenv/vendor/backports/enum
copying pipenv/vendor/backports/enum/README -> /var/tmp/portage/dev-python/pipenv-2020.6.2/work/pipenv-2020.6.2-python3_7/lib/pipenv/vendor/backports/enum
copying pipenv/vendor/backports/shutil_get_terminal_size/LICENSE -> /var/tmp/portage/dev-python/pipenv-2020.6.2/work/pipenv-2020.6.2-python3_7/lib/pipenv/vendor/backports/shutil_get_terminal_size
warning: build_py: byte-compiling is disabled, skipping.

>>> Source compiled.
>>> Test phase: dev-python/pipenv-2020.6.2
 * python3_7: running distutils-r1_run_phase python_test
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.7/pytest", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3251, in <module>
    @_call_aside
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3235, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3264, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.7/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'six>=1.10.0' distribution was not found and is required by pytest
 * ERROR: dev-python/pipenv-2020.6.2::gentoo failed (test phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  125:  Called src_test
 *   environment, line 2926:  Called distutils-r1_src_test
 *   environment, line 1235:  Called _distutils-r1_run_foreach_impl 'python_test'
 *   environment, line  451:  Called python_foreach_impl 'distutils-r1_run_phase' 'python_test'
 *   environment, line 2534:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test'
 *   environment, line 2017:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test'
 *   environment, line 2015:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'python_test'
 *   environment, line  808:  Called distutils-r1_run_phase 'python_test'
 *   environment, line 1172:  Called python_test
 *   environment, line 2885:  Called die
 * The specific snippet of code:
 *       pytest -m "not cli and not needs_internet" -vv tests/unit || die
 * 
 * If you need support, post the output of `emerge --info '=dev-python/pipenv-2020.6.2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-python/pipenv-2020.6.2::gentoo'`.
 * The complete build log is located at '/var/log/portage/dev-python:pipenv-2020.6.2:20201004-102855.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-python/pipenv-2020.6.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-python/pipenv-2020.6.2/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-python/pipenv-2020.6.2/work/pipenv-2020.6.2'
 * S: '/var/tmp/portage/dev-python/pipenv-2020.6.2/work/pipenv-2020.6.2'
```

However, I'm not sure that the ebuild explicitly needs to have a dependency on six, because pytest already depends on it:

```
$ sudo FEATURES=test emerge -a pipenv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] dev-python/six-1.15.0-r1  USE="-doc -test" PYTHON_TARGETS="python3_6 python3_7 python3_8 python3_9 (-pypy3)" 
[ebuild  N     ] dev-python/pytest-4.6.11-r1  USE="-test" PYTHON_TARGETS="python3_6 python3_7 python3_8 python3_9 (-pypy3)" 
[ebuild   R   ~] dev-python/pipenv-2020.6.2 

Would you like to merge these packages? [Yes/No] 
```
Comment 4 Dave Wiltshire 2020-10-04 12:14:05 UTC
My issue was that when I installed pipenv via the ebuild then pipenv would fail at run time.  Installed via pip installed appdirs and six to my system.  So I think they are required dependencies.

I haven't confirmed whether both need to be installed or if one of them is only for testing.  I just found this bug and thought it might be related.
Comment 5 OzTiram 2020-10-04 18:49:24 UTC
Could it be that installing these packages pulled the correct packages?

appdirs and six aren't mentioned in: https://github.com/pypa/pipenv/blob/master/setup.py
Also, I believe that if the tests pass, the code should work.
And one last thing, currently appdirs isn't installed on my system and pipenv commands run fine (but I only use a small set). Can you maybe post a stack trace to reproduce the issue?
Comment 6 Dave Wiltshire 2020-10-05 09:32:13 UTC
Created attachment 663844 [details]
Stack trace after removing appdirs
Comment 7 OzTiram 2020-10-05 12:34:09 UTC
Which version of virtualenv are you using?
Seems to me that appdirs is a dependency of virtualenv.
Comment 8 OzTiram 2020-10-06 04:32:17 UTC
I take back my last comment. virtualenv has nothing to do with appdirs.
However, I looked at pipenv, and it has a vendored version of both appdirs and six.
So this can't be the case we need to add those.
See here:
https://github.com/pypa/pipenv/tree/3f9f359c0e563d30a60f0d1e4633eea9f964b610/pipenv/patched/notpip/_vendor
Comment 9 OzTiram 2021-07-22 18:37:14 UTC
This bug can be closed. The package no longer exists in ::gentoo.
Comment 10 OzTiram 2021-07-22 18:47:29 UTC
Sorry, wrong formulation: the package version is no longer in gentoo.