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

MacPorts noreply at macports.org
Sat May 25 11:19:09 UTC 2024


#70065: py312-virtualenv at 20.26.2 is incompatible with Python 3.12
---------------------------------+--------------------
  Reporter:  Themanwithoutaplan  |      Owner:  (none)
      Type:  defect              |     Status:  closed
  Priority:  Normal              |  Milestone:
 Component:  ports               |    Version:  2.9.3
Resolution:  worksforme          |   Keywords:
      Port:  py312-virtualenv    |
---------------------------------+--------------------

Comment (by Themanwithoutaplan):

 This is what I have installed:
 {{{
   py312-pip @24.0_0 (active)
   py312-platformdirs @4.2.1_0
   py312-platformdirs @4.2.2_0 (active)
   py312-pycryptodome @3.19.0_0 (active)
   py312-setuptools @69.5.1_0 (active)
   py312-toml @0.10.2_0 (active)
   py312-virtualenv @20.26.2_0 (active)
 }}}

 And I don't have any relevant config files and have been using MacPorts to
 drive multiple Pythons (with tox) for years.

 I have no problems if I use `python3.12 -m venv test`

 But look at what happens if I pass the `-v` flag:

 {{{
 virtualenv-3.12 -v test
 [12:59:37]
 find interpreter for spec
 PythonSpec(path=/opt/local/Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12)
 proposed PythonInfo(spec=CPython3.12.3.final.0-64,
 exe=/opt/local/Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12,
 platform=darwin, version='3.12.3 (main, Apr 12 2024, 17:19:53) [Clang
 14.0.3 (clang-1403.0.22.14.1)]', encoding_fs_io=utf-8-utf-8)
 create virtual environment via
 CPython3Posix(dest=/Users/charlieclark/temp/test, clear=False,
 no_vcs_ignore=False, global=False)
 add seed packages via FromAppData(download=False, pip=bundle, via=copy,
 app_data_dir=/Users/charlieclark/Library/Application Support/virtualenv)
 triggered periodic upgrade of pip==24.0 (for python 3.12) via background
 process having PID 29207
 add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
 created virtual environment CPython3.12.3.final.0-64 in 946ms
   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

 charlieclark:temp/ $ virtualenv-3.12  test
 [13:00:01]
 created virtual environment CPython3.12.3.final.0-64 in 473ms
   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
 }}}

 With it, pip at 24.0 gets installed, without it, pip at 22.3.1. That's what I
 called weird™.

 I've just tried uninstalling virtualenv from MacPorts and installing it as
 my user as that seeding directory makes me suspicious:

 {{{
 pip-3.12 install virtualenv
 [13:03:40]
 Defaulting to user installation because normal site-packages is not
 writeable
 Collecting virtualenv
   Using cached virtualenv-20.26.2-py3-none-any.whl.metadata (4.4 kB)
 Requirement already satisfied: distlib<1,>=0.3.7 in
 /opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12
 /site-packages (from virtualenv) (0.3.8)
 Requirement already satisfied: filelock<4,>=3.12.2 in
 /opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12
 /site-packages (from virtualenv) (3.13.1)
 Requirement already satisfied: platformdirs<5,>=3.9.1 in
 /opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12
 /site-packages (from virtualenv) (4.2.2)
 Using cached virtualenv-20.26.2-py3-none-any.whl (3.9 MB)
 Installing collected packages: virtualenv
   WARNING: The script virtualenv is installed in
 '/Users/charlieclark/Library/Python/3.12/bin' which is not on PATH.
   Consider adding this directory to PATH or, if you prefer to suppress
 this warning, use --no-warn-script-location.
 Successfully installed virtualenv-20.26.2
 charlieclark:temp/ $ ~/Library/Python/3.12/bin/virtualenv test
 [13:04:47]
 created virtual environment CPython3.12.3.final.0-64 in 496ms
   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

 charlieclark:temp/ $ ~/Library/Python/3.12/bin/virtualenv -v test
 [13:05:34]
 find interpreter for spec
 PythonSpec(path=/opt/local/Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12)
 proposed PythonInfo(spec=CPython3.12.3.final.0-64,
 exe=/opt/local/Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12,
 platform=darwin, version='3.12.3 (main, Apr 12 2024, 17:19:53) [Clang
 14.0.3 (clang-1403.0.22.14.1)]', encoding_fs_io=utf-8-utf-8)
 create virtual environment via
 CPython3Posix(dest=/Users/charlieclark/temp/test, clear=False,
 no_vcs_ignore=False, global=False)
 add seed packages via FromAppData(download=False, pip=bundle, via=copy,
 app_data_dir=/Users/charlieclark/Library/Application Support/virtualenv)
 add activators for Bash, CShell, Fish, Nushell, PowerShell, Python
 created virtual environment CPython3.12.3.final.0-64 in 567ms
   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
 }}}

 So, the problem **can't** be with MacPorts (I never thought it could be).
 The timestamp on this directory is 2020, which is when I got this
 computer. I removed it and lo and behold, pip at 24.0 gets installed.

 This folder gets created by virtualenv itself. I wonder what's causing it
 to go stale?

 Any sorry for the noise and thanks for your help!

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


More information about the macports-tickets mailing list