#66530 closed defect (worksforme)

py310-spyder @5.4.0_1 +pil – Spyder won't start on M1 pro machine (Potentially an issue with the version of port py310-codestyle @2.9.1_0 being "too old" rather than spyder)

Reported by: Gandoon (Erik Hedlund) Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: Cc:
Port: py-spyder

Description

Spyder won't start on a MacBook Pro. The latest version of all dependencies, built from source, are available.

There seems to be a complaint about pycodestyle, available as port py310-codestyle @2.9.1_0. If I understand the complaint correctly Spyder seems to want an even later version of the package. Weirdly enough, on another Intel machine there are no problems whatsoever to start Spyder, and that machine was updated within the last week, so something seems off.

I realise this may be an issue with py-codestyle rather than py-spyder, but as it manifests in relation to the latter, it gets the ticket. Feel fre to re-route it if relevant.

> spyder
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 581, in _build_master
    ws.require(__requires__)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 909, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 800, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (pycodestyle 2.9.1 (/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages), Requirement.parse('pycodestyle>=2.10.0'), {'autopep8'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/local/bin/spyder", line 33, in <module>
    sys.exit(load_entry_point('spyder==5.4.0', 'gui_scripts', 'spyder')())
  File "/opt/local/bin/spyder", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/spyder/app/start.py", line 58, in <module>
    from spyder.utils.external import lockfile
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/spyder/utils/external/lockfile.py", line 31, in <module>
    from spyder.utils.programs import is_spyder_process
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/spyder/utils/programs.py", line 28, in <module>
    import pkg_resources
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3260, in <module>
    def _initialize_master_working_set():
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3234, in _call_aside
    f(*args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3272, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 596, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pkg_resources/__init__.py", line 800, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (pycodestyle 2.9.1 (/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages), Requirement.parse('pycodestyle>=2.10.0'), {'autopep8'}) 

Change History (4)

comment:1 Changed 17 months ago by Gandoon (Erik Hedlund)

In case anyone wonders: No, the vanilla flavour spyder without +pil does not work either.

comment:2 Changed 17 months ago by mf2k (Frank Schima)

Owner: set to reneeotten
Status: newassigned

comment:3 Changed 17 months ago by Gandoon (Erik Hedlund)

Just to confirm: This issue has now been resolved on Apple M1 pro. Recently py310-codestyle @2.10.0_0 was made available, and as the traceback cited hinted, this seems to have solved the problem.

Why it seemed to work on Intel silicon but not chips from "The Fruit Company" I do not know, but either way, it works now. This ticket can probably be closed now.

comment:4 Changed 17 months ago by kencu (Ken)

Resolution: worksforme
Status: assignedclosed

thanks for the report

Note: See TracTickets for help on using tickets.