[MacPorts] #70065: py312-virtualenv at 20.26.2 is incompatible with Python 3.12

MacPorts noreply at macports.org
Thu May 23 14:20:06 UTC 2024


#70065: py312-virtualenv at 20.26.2 is incompatible with Python 3.12
--------------------------------+------------------------------
 Reporter:  Themanwithoutaplan  |      Owner:  (none)
     Type:  defect              |     Status:  new
 Priority:  Normal              |  Milestone:
Component:  ports               |    Version:  2.9.3
 Keywords:                      |       Port:  py312-virtualenv
--------------------------------+------------------------------
 I'm really not exactly sure where this is coming from but an older version
 of setuptools gets installed which is itself not compatible with Python
 3.12

 Here's how to replicate it

 {{{
  virtualenv-3.12 test
 [16:06:16]
 created virtual environment CPython3.12.3.final.0-64 in 519ms
   creator CPython3Posix(dest=/Users/charlieclark/temp/test, clear=False,
 no_vcs_ignore=False, global=False)
   seeder FromAppData(download=False, pip=bundle, via=copy,
 app_data_dir=/Users/charlieclark/Library/Application Support/virtualenv)
     added seed packages: pip==22.3.1
   activators
 BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

 cd test
 pip list
 }}}

 This produces the following error message
 {{{
 ERROR: Exception:
 Traceback (most recent call last):
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/cli/base_command.py", line 160, in
 exc_logging_wrapper
     status = run_func(*args)
              ^^^^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/commands/list.py", line 169, in run
     packages: "_ProcessedDists" = [
                                   ^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/base.py", line 664, in <genexpr>
     return (d for d in it if d.canonical_name not in skip)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/base.py", line 612, in
 iter_all_distributions
     for dist in self._iter_distributions():
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 176, in
 _iter_distributions
     for dist in finder.find_eggs(location):
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 144, in
 find_eggs
     yield from self._find_eggs_in_dir(location)
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 111, in
 _find_eggs_in_dir
     from pip._vendor.pkg_resources import find_distributions
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_vendor/pkg_resources/__init__.py", line 2164, in <module>
     register_finder(pkgutil.ImpImporter, find_on_path)
                     ^^^^^^^^^^^^^^^^^^^
 AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you
 mean: 'zipimporter'?
 Traceback (most recent call last):
   File "/Users/charlieclark/temp/test/bin/pip", line 8, in <module>
     sys.exit(main())
              ^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/cli/main.py", line 70, in main
     return command.main(cmd_args)
            ^^^^^^^^^^^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/cli/base_command.py", line 101, in main
     return self._main(args)
            ^^^^^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/cli/base_command.py", line 216, in _main
     self.handle_pip_version_check(options)
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/cli/req_command.py", line 179, in
 handle_pip_version_check
     session = self._build_session(
               ^^^^^^^^^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/cli/req_command.py", line 125, in _build_session
     session = PipSession(
               ^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/network/session.py", line 343, in __init__
     self.headers["User-Agent"] = user_agent()
                                  ^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/network/session.py", line 175, in user_agent
     setuptools_dist =
 get_default_environment().get_distribution("setuptools")
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 188, in
 get_distribution
     return next(matches, None)
            ^^^^^^^^^^^^^^^^^^^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 183, in
 <genexpr>
     matches = (
               ^
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/base.py", line 612, in
 iter_all_distributions
     for dist in self._iter_distributions():
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 176, in
 _iter_distributions
     for dist in finder.find_eggs(location):
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 144, in
 find_eggs
     yield from self._find_eggs_in_dir(location)
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_internal/metadata/importlib/_envs.py", line 111, in
 _find_eggs_in_dir
     from pip._vendor.pkg_resources import find_distributions
   File "/Users/charlieclark/temp/test/lib/python3.12/site-
 packages/pip/_vendor/pkg_resources/__init__.py", line 2164, in <module>
     register_finder(pkgutil.ImpImporter, find_on_path)
                     ^^^^^^^^^^^^^^^^^^^
 AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you
 mean: 'zipimporter'?
 }}}

 I'm not sure whether the problem is being pinned to pip==22.3.1 or another
 dependency upon an older version of setuptools.

-- 
Ticket URL: <https://trac.macports.org/ticket/70065>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list