Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 803269 - dev-python/spyder-5.0.5 requires dev-python/parso-0.7.0
Summary: dev-python/spyder-5.0.5 requires dev-python/parso-0.7.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Python Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-21 20:07 UTC by Erik Quaeghebeur
Modified: 2021-07-23 13:49 UTC (History)
2 users (show)

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


Attachments
build log for spyder-5.0.5 (spyder-5.0.5:20210623-212720.log.bz2,36.85 KB, application/x-bzip)
2021-07-22 19:48 UTC, Erik Quaeghebeur
Details
emerge --info output (emerge--info.txt,6.67 KB, text/plain)
2021-07-22 19:49 UTC, Erik Quaeghebeur
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Quaeghebeur 2021-07-21 20:07:17 UTC
The current dev-python/spyder-5.0.5 ebuild has

>=dev-python/parso-0.7.0[${PYTHON_USEDEP}]
<dev-python/parso-0.8.0[${PYTHON_USEDEP}]

but when trying to start spyder, it fails. I get
---
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 568, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 886, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 777, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (parso 0.7.1 (/usr/lib/python3.9/site-packages), Requirement.parse('parso==0.7.0'), {'spyder'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.9/spyder", line 33, in <module>
    sys.exit(load_entry_point('spyder==5.0.5', 'gui_scripts', 'spyder')())
  File "/usr/lib/python-exec/python3.9/spyder", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/lib/python3.9/site-packages/spyder/app/start.py", line 47, in <module>
    from spyder.utils.external import lockfile
  File "/usr/lib/python3.9/site-packages/spyder/utils/external/lockfile.py", line 31, in <module>
    from spyder.utils.programs import is_spyder_process
  File "/usr/lib/python3.9/site-packages/spyder/utils/programs.py", line 28, in <module>
    import pkg_resources
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3243, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 570, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 583, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3.9/site-packages/pkg_resources/__init__.py", line 772, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'parso==0.7.0' distribution was not found and is required by spyder
---

After downgrading to dev-python/parso-0.7.0-r1 spyder starts.

Reproducible: Always
Comment 1 Marco Scardovi (scardracs) 2021-07-22 09:13:23 UTC
Please always post the full build.log and your emerge --info
Comment 2 Erik Quaeghebeur 2021-07-22 19:48:48 UTC
Created attachment 725923 [details]
build log for spyder-5.0.5
Comment 3 Erik Quaeghebeur 2021-07-22 19:49:10 UTC
Created attachment 725926 [details]
emerge --info output
Comment 4 Nowa Ammerlaan gentoo-dev 2021-07-23 08:52:41 UTC
Could you try to re-emerge spyder please? The ebuild should sed the dependency on parso to allow version 0.7.1 as well as 0.7.0.
Comment 5 Larry the Git Cow gentoo-dev 2021-07-23 13:49:13 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=055a054ea9a8208395f8fcee5c84d0bfab841e0a

commit 055a054ea9a8208395f8fcee5c84d0bfab841e0a
Author:     Andrew Ammerlaan <andrewammerlaan@gentoo.org>
AuthorDate: 2021-07-23 13:45:08 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan@gentoo.org>
CommitDate: 2021-07-23 13:49:09 +0000

    dev-python/spyder: do not depend on parso,jedi,pylsp
    
    spyder does not use these directly, instead it imports
    pyls-spyder, which imports pylsp, which imports jedi,
    which imports parso.
    
    We remove the indirect dependencies here so we don't
    have to touch this ebuilds if e.g. pylsp becomes
    (in)compatible with a certain version of jedi. Instead
    we record this infomration in the downstream ebuilds
    where it belongs.
    
    This requires some sed magic to make sure spyder's
    dependency checks don't complain.
    
    This is intended to once and for all fix
    Bug 743466 and prevent the repeating issue
    of bugs such as Bug 803269
    
    Closes: https://bugs.gentoo.org/803269
    Bug: https://bugs.gentoo.org/743466
    Package-Manager: Portage-3.0.20, Repoman-3.0.3
    Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>

 dev-python/spyder/Manifest                         |  2 +-
 ...yder-4.2.5-r1.ebuild => spyder-4.2.5-r2.ebuild} | 68 +++++++++-------------
 ...{spyder-5.0.5.ebuild => spyder-5.0.5-r1.ebuild} | 58 ++++++++----------
 3 files changed, 55 insertions(+), 73 deletions(-)