Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sign the python2 exe on Darwin arm64 #2233

Merged
merged 4 commits into from
Dec 31, 2021

Conversation

tmspicer
Copy link
Contributor

As part of #2024 , the latest version of virtualenv will not run on Darwin Arm64 (Apple M1).
The original issue was that the python exe would be killed due to the exe not being properly signed. There is a workaround for the issue which is to sign the python exe that has been moved/modified in the virtualenv. Up until 20.8.1 running the codesign process after virtualenv was ran would allow for a usable environment.
This PR is to propose that we just add the workaround of adhoc signing the exe into the virtualenv process.

With the latest version of virtualenv this only affect python2 on Darwin ARM64.

This PR adds a fix_signature function to perform the codesign if on MAC_ARM64 and removes the change to can_create to return false if MAC_ARM64.

Tested on an M1 machine using python2.7 and python3.7 without any issues.

Thanks for contributing, make sure you address all the checklists (for details on how see

development documentation)!

  • ran the linter to address style issues (tox -e fix_lint)
  • [X ] wrote descriptive pull request text
  • ensured there are test(s) validating the fix
  • added news fragment in docs/changelog folder
  • updated/extended the documentation

@@ -176,6 +175,33 @@ def fix_mach_o(exe, current, new, max_size):
raise


def fix_signature(exe):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than force it into the cpythonmacos creator can we add a cpythonm1macoscreator instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've restructured it to introduce a CPython2macOsArmFramework class, and have it just passing in the python interpreter to sign.
It was tested on the M1 and an existing Darwin intel machine.
In the latest commit I've also removed can_create from CPython2macOsFramework since it is now only calling the parent function.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you inline this into the create above, otherwise looks 👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've inlined the function into the arm specific class

@@ -176,6 +175,33 @@ def fix_mach_o(exe, current, new, max_size):
raise


def fix_signature(exe):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you inline this into the create above, otherwise looks 👍

subprocess.check_call(cmd)

except Exception:
logging.fatal("Could not change MacOS code signing on copied python exe at %s" % exe)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drop the % formatting, use log formatting

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logging fixed, thanks for catching that

os.rmdir(bak_dir)

cmd = ["codesign", "-s", "-", "--preserve-metadata=identifier,entitlements,flags,runtime", "-f", exe]
logging.debug("Changing Signature: %s" % cmd)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

@kkroening
Copy link

kkroening commented Nov 14, 2021

I just tested this on my M1 mac, and it does indeed perform the code signing, but the final python binary still gets killed:

$ virtualenv venv2 -p $(which python2)
/Users/karlk/src/venv2/bin/python: replacing existing signature
created virtual environment CPython2.7.18.final.0-64 in 112ms
  creator CPython2macOsArmFramework(dest=/Users/karlk/src/venv2, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/karlk/Library/Application Support/virtualenv)
    added seed packages: pip==20.3.4, setuptools==44.1.1, wheel==0.37.0
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

$ venv2/bin/python
Killed: 9

Extra info:

$ which python2
/usr/bin/python2

$ readlink -f $(which python2)
/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/pythonwrapper.app/Contents/MacOS/pythonwrapper

$ python2 --version
Python 2.7.18

(edit): It does work with arch --x86_64 though:

$ arch --x86_64 venv2/bin/python

WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.

Python 2.7.18 (default, Oct  2 2021, 04:20:39)
[GCC Apple LLVM 13.0.0 (clang-1300.0.29.1) [+internal-os, ptrauth-isa=deploymen on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

@tmspicer
Copy link
Contributor Author

I just tested this on my M1 mac, and it does indeed perform the code signing, but the final python binary still gets killed:

On your M1 are you installing your ports as x86 or universal? By default they get installed as x86 unless you change your mapport.conf.

I have python27 port installed just for arm64 and am on Big Sur

virtualenv --version
virtualenv 20.10.1.dev4+g9fd06b8 from /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenv/__init__.pyc

virtualenv env_py2 -p $(which python2)

env_py2/bin/python -c 'import os; print os.uname()[-1]'
arm64

env_py2/bin/python
Python 2.7.18 (default, Nov  9 2021, 05:10:32)
[GCC Apple LLVM 12.0.5 (clang-1205.0.22.11)] on darwin

If I try to run it as x86 it fails with invalid CPU

arch --x86_64 env_py2/bin/python
arch: posix_spawnp: env_py2/bin/python: Bad CPU type in executable

Copy link
Contributor

@gaborbernat gaborbernat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made some changes, can you please validate it works?

Copy link
Contributor

@gaborbernat gaborbernat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please also add a changelog entry?

@moreati
Copy link
Contributor

moreati commented Dec 3, 2021

Possible bug, or user error on my part. I see an AttributeError in virtualenv.run.plugin.creators.CreateorSelector.for_interpreter(), using rev 49a6115 using the Pythons shipped with macOS 12.0.1 (Darwin 21) on an M1 Max. Complete output virtualenv-2233.log, including this excerpt with the traceback

➜  ~ v38/bin/python -i -mvirtualenv --verbose --python python2 v27                        
find interpreter for spec PythonSpec(implementation=CPython, major=2)
proposed PythonInfo(spec=CPython3.8.9.final.0-64, system=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/bin/python3.8, exe=/Users/alex/v38/bin/python, platform=darwin, version='3.8.9 (default, Aug  3 2021, 19:21:54) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)
proposed PathPythonInfo(spec=CPython2.7.18.final.0-64, system=/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python, exe=/usr/bin/python2, platform=darwin, version='2.7.18 (default, Oct  2 2021, 04:20:38) \n[GCC Apple LLVM 13.0.0 (clang-1300.0.29.1) [+internal-os, ptrauth-isa=deploymen', encoding_fs_io=utf-8-None)
AttributeError: 'bool' object has no attribute 'error'
Traceback (most recent call last):
  File "/Users/alex/v38/lib/python3.8/site-packages/virtualenv/__main__.py", line 65, in run_with_catch
    run(args, options, env)
  File "/Users/alex/v38/lib/python3.8/site-packages/virtualenv/__main__.py", line 18, in run
    session = cli_run(args, options, env)
  File "/Users/alex/v38/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 30, in cli_run
    of_session = session_via_cli(args, options, setup_logging, env)
  File "/Users/alex/v38/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 48, in session_via_cli
    parser, elements = build_parser(args, options, setup_logging, env)
  File "/Users/alex/v38/lib/python3.8/site-packages/virtualenv/run/__init__.py", line 74, in build_parser
    CreatorSelector(interpreter, parser),
  File "/Users/alex/v38/lib/python3.8/site-packages/virtualenv/run/plugin/creators.py", line 15, in __init__
    creators, self.key_to_meta, self.describe, self.builtin_key = self.for_interpreter(interpreter)
  File "/Users/alex/v38/lib/python3.8/site-packages/virtualenv/run/plugin/creators.py", line 27, in for_interpreter
    if meta.error:
AttributeError: 'bool' object has no attribute 'error'
...

@ghost
Copy link

ghost commented Dec 10, 2021

@tmspicer @gaborbernat Do you happen to have any plans of when this could be release?

@gaborbernat
Copy link
Contributor

No plans. Sometimes after we make the CI pass 😊

@moreati
Copy link
Contributor

moreati commented Dec 19, 2021

Edit: Disregard. virtualenv does not use /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/pythonwrapper.app/Contents/MacOS/pythonwrapper (pointed to by /usr/bin/python), signed with Identifier=org.python.pythonwrapper). It uses /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python, signed with Identifier=org.python.python.

It's possible the adhoc signing will need to be slightly different on macOS 11.x/arm64 and macOS 12.x/arm64.

On macOS 12 /usr/bin/python (or rather the file that symlink points to) has Identifier=org.python.pythonwrapper, not Identifier=org.python.python - which the modified, adhoc signed, virtualenv binary gets. This may be important, or just an insignicant detail I've latched onto. Running codesign --display --entitlements - --verbose=4 /usr/bin/python on an M1 Mac with macOS 11.x may help clarify, unfortunately I don't have access to that combination.

➜  virtualenv git:(cdcc19b) ✗ codesign --display --entitlements - --verbose=4 /usr/bin/python
Executable=/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/pythonwrapper.app/Contents/MacOS/pythonwrapper
Identifier=com.apple.python.pythonwrapper
Format=app bundle with Mach-O universal (x86_64 arm64e)
CodeDirectory v=20400 size=631 flags=0x0(none) hashes=13+3 location=embedded
Platform identifier=13
VersionPlatform=1
VersionMin=722176
VersionSDK=786688
Hash type=sha256 size=32
CandidateCDHash sha256=792f6b7de3cdb48653e730f1ff3a1d30f739da43
CandidateCDHashFull sha256=792f6b7de3cdb48653e730f1ff3a1d30f739da437749a91df83acfd8e394cfe2
Hash choices=sha256
CMSDigest=792f6b7de3cdb48653e730f1ff3a1d30f739da437749a91df83acfd8e394cfe2
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=16384
Executable Segment flags=0x1
Page size=4096
CDHash=792f6b7de3cdb48653e730f1ff3a1d30f739da43
Signature size=4442
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
Signed Time=13 Nov 2021 at 14:30:27
Info.plist entries=20
TeamIdentifier=not set
Sealed Resources version=2 rules=4 files=0
Internal requirements count=1 size=80
➜  virtualenv git:(cdcc19b) ✗ codesign --display --entitlements - --verbose=4 /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-7/test_cross_major0/bin/python
Executable=/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-7/test_cross_major0/bin/python
Identifier=org.python.python
Format=Mach-O universal (x86_64 arm64e)
CodeDirectory v=20400 size=586 flags=0x2(adhoc) hashes=13+2 location=embedded
VersionPlatform=1
VersionMin=786688
VersionSDK=786688
Hash type=sha256 size=32
CandidateCDHash sha256=18a928ec61a7d647d5c589b86d720d7ef7b7e6ff
CandidateCDHashFull sha256=18a928ec61a7d647d5c589b86d720d7ef7b7e6ff2364cfe857276427ed66c479
Hash choices=sha256
CMSDigest=18a928ec61a7d647d5c589b86d720d7ef7b7e6ff2364cfe857276427ed66c479
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=16384
Executable Segment flags=0x1
Page size=4096
CDHash=18a928ec61a7d647d5c589b86d720d7ef7b7e6ff
Signature=adhoc
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=68

@gaborbernat
Copy link
Contributor

The fix now has been released via https://virtualenv.pypa.io/en/latest/changelog.html#v20-12-0-2021-12-31

@moreati
Copy link
Contributor

moreati commented Dec 31, 2021

Thanks for persevering with this Gabor. Something is still wrong on macOS 12.x + arm64, using 51408e6. I'll raise seperate PRs, or issues as appropriate.

➜  virtualenv git:(main) tox
fix_lint recreate: /Users/alex/src/virtualenv/.tox/fix_lint
fix_lint installdeps: pre-commit>=2
fix_lint installed: cfgv==3.3.1,distlib==0.3.4,filelock==3.4.2,identify==2.4.1,nodeenv==1.6.0,platformdirs==2.4.1,pre-commit==2.16.0,PyYAML==6.0,six==1.16.0,toml==0.10.2,virtualenv==20.12.0
fix_lint run-test-pre: PYTHONHASHSEED='652711250'
fix_lint run-test: commands[0] | pre-commit run --all-files --show-diff-on-failure
[INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Initializing environment for https://github.com/asottile/pyupgrade.
[INFO] Initializing environment for https://github.com/PyCQA/isort.
[INFO] Initializing environment for https://github.com/psf/black.
[INFO] Initializing environment for https://github.com/asottile/blacken-docs.
[INFO] Initializing environment for https://github.com/asottile/blacken-docs:black==21.12b0.
[INFO] Initializing environment for https://github.com/asottile/setup-cfg-fmt.
[INFO] Initializing environment for https://github.com/PyCQA/flake8:flake8-bugbear == 21.11.29.
[INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/asottile/pyupgrade.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/PyCQA/isort.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/psf/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/asottile/blacken-docs.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/asottile/setup-cfg-fmt.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/PyCQA/flake8.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check docstring is first.................................................Passed
check for merge conflicts................................................Passed
check yaml...............................................................Passed
check toml...............................................................Passed
debug statements (python)................................................Passed
fix end of files.........................................................Passed
trim trailing whitespace.................................................Passed
pyupgrade................................................................Passed
isort....................................................................Passed
black....................................................................Passed
blacken-docs.............................................................Passed
rst ``code`` is two backticks............................................Passed
tox-ini-fmt..............................................................Passed
setup-cfg-fmt............................................................Passed
flake8...................................................................Passed
fix_lint run-test: commands[1] | python -c 'import pathlib; print("hint: run {} install to add checks as pre-commit hook".format(pathlib.Path(r"/Users/alex/src/virtualenv/.tox/fix_lint") / "bin" / "pre-commit"))'
hint: run /Users/alex/src/virtualenv/.tox/fix_lint/bin/pre-commit install to add checks as pre-commit hook
py39 inst-nodeps: /Users/alex/src/virtualenv/.tox/.tmp/package/1/virtualenv-20.12.1.dev1+g51408e6.tar.gz
py39 installed: attrs==21.2.0,backports.entry-points-selectable==1.1.1,coverage==6.2,coverage-enable-subprocess==1.0,distlib==0.3.4,filelock==3.4.0,flaky==3.7.0,freezegun==1.1.0,importlib-metadata==4.10.0,iniconfig==1.1.1,packaging==21.3,platformdirs==2.4.0,pluggy==1.0.0,py==1.11.0,pyparsing==3.0.6,pytest==6.2.5,pytest-env==0.6.2,pytest-freezegun==0.4.2,pytest-mock==3.6.1,pytest-randomly==3.10.3,pytest-timeout==2.0.2,python-dateutil==2.8.2,six==1.16.0,toml==0.10.2,virtualenv @ file:///Users/alex/src/virtualenv/.tox/.tmp/package/1/virtualenv-20.12.1.dev1%2Bg51408e6.tar.gz,zipp==3.6.0
py39 run-test-pre: PYTHONHASHSEED='652711250'
py39 run-test: commands[0] | python -m coverage erase
py39 run-test: commands[1] | python -m coverage run -m pytest --color=yes --junitxml /Users/alex/src/virtualenv/.tox/junit.py39.xml tests --int --timeout 600
========================================= test session starts ==========================================
platform darwin -- Python 3.9.9, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
cachedir: .tox/py39/.pytest_cache
Using --randomly-seed=3355339641
rootdir: /Users/alex/src/virtualenv, configfile: setup.cfg
plugins: freezegun-0.4.2, env-0.6.2, flaky-3.7.0, timeout-2.0.2, mock-3.6.1, randomly-3.10.3
timeout: 600.0s
timeout method: signal
timeout func_only: False
collected 306 items                                                                                    

tests/unit/activation/test_batch.py ss                                                           [  0%]
tests/unit/discovery/py_info/test_py_info.py ................................................    [ 16%]
tests/unit/activation/test_python_activator.py ..                                                [ 16%]
tests/unit/config/test_env_var.py ........                                                       [ 19%]
tests/unit/create/test_interpreters.py ..                                                        [ 20%]
tests/unit/activation/test_fish.py ss                                                            [ 20%]
tests/unit/activation/test_powershell.py ss                                                      [ 21%]
tests/unit/activation/test_nushell.py ss                                                         [ 22%]
tests/unit/discovery/test_py_spec.py ................................................            [ 37%]
tests/integration/test_run_int.py .                                                              [ 38%]
tests/unit/seed/wheels/test_acquire_find_wheel.py ....                                           [ 39%]
tests/unit/activation/test_csh.py ..                                                             [ 40%]
tests/unit/seed/wheels/test_acquire.py .......                                                   [ 42%]
tests/unit/seed/embed/test_base_embed.py ....                                                    [ 43%]
tests/unit/test_util.py s.                                                                       [ 44%]
tests/unit/activation/test_activator.py .                                                        [ 44%]
tests/unit/create/via_global_ref/test_build_c_ext.py ..                                          [ 45%]
tests/unit/discovery/test_discovery.py .......                                                   [ 47%]
tests/unit/seed/wheels/test_periodic_update.py .....................                             [ 54%]
tests/unit/discovery/windows/test_windows_pep514.py ss                                           [ 55%]
tests/unit/config/test_ini.py .                                                                  [ 55%]
tests/unit/activation/test_activation_support.py ............                                    [ 59%]
tests/unit/seed/embed/test_bootstrap_link_via_app_data.py ..........                             [ 62%]
tests/unit/activation/test_activate_this.py F                                                    [ 63%]
tests/unit/create/via_global_ref/test_api.py .                                                   [ 63%]
tests/unit/create/test_creator.py ..s...ss..s.....s.......sss..s....s......s.s..ss.sF....F       [ 81%]
tests/unit/seed/wheels/test_wheels_util.py ....                                                  [ 83%]
tests/unit/activation/test_bash.py ..                                                            [ 83%]
tests/integration/test_zipapp.py ...                                                             [ 84%]
tests/unit/seed/wheels/test_bundle.py .....                                                      [ 86%]
tests/unit/config/test___main__.py ......                                                        [ 88%]
tests/unit/seed/embed/test_pip_invoke.py ....                                                    [ 89%]
tests/unit/test_run.py ....                                                                      [ 90%]
tests/unit/config/cli/test_parser.py ...                                                         [ 91%]
tests/unit/discovery/py_info/test_py_info_exe_based_of.py .........................              [100%]

=============================================== FAILURES ===============================================
_____________________________________ test_python_activator_cross ______________________________________

session_app_data = AppDataDiskFolder(/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0)
cross_python = PathPythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
special_name_dir = PosixPath('/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_python_activator_cross0/e-$ èрт🚒♞中片-j')

    def test_python_activator_cross(session_app_data, cross_python, special_name_dir):
        options = VirtualEnvOptions()
        cli_args = [
            str(special_name_dir),
            "-p",
            str(cross_python.executable),
            "--app-data",
            str(session_app_data.lock.path),
            "--without-pip",
            "--activators",
            "",
        ]
>       session = session_via_cli(cli_args, options)

cli_args   = ['/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_python_activator_cross0/e-$ è...vate/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0', '--without-pip', ...]
cross_python = PathPythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
options    = VirtualEnvOptions(with_traceback=False, verbose=2, quiet=0, env=environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/User...0, reset_app_data=False, upgrade_embed_wheels=False, discovery=builtin, python=['/usr/bin/python2'], try_first_with=[])
session_app_data = AppDataDiskFolder(/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0)
special_name_dir = PosixPath('/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_python_activator_cross0/e-$ èрт🚒♞中片-j')

tests/unit/activation/test_activate_this.py:18: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/py39/lib/python3.9/site-packages/virtualenv/run/__init__.py:48: in session_via_cli
    parser, elements = build_parser(args, options, setup_logging, env)
        args       = ['/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_python_activator_cross0/e-$ è...vate/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0', '--without-pip', ...]
        env        = environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/Users/alex/src/virtualenv/.tox', 'TMPDIR': '/var/folders/hw/y1c1nkcs...ate_this.py::test_python_activator_cross (call)', 'VIRTUALENV_NO_PERIODIC_UPDATE': '1', 'VIRTUALENV_NO_DOWNLOAD': '1'})
        options    = VirtualEnvOptions(with_traceback=False, verbose=2, quiet=0, env=environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/User...0, reset_app_data=False, upgrade_embed_wheels=False, discovery=builtin, python=['/usr/bin/python2'], try_first_with=[])
        setup_logging = True
.tox/py39/lib/python3.9/site-packages/virtualenv/run/__init__.py:74: in build_parser
    CreatorSelector(interpreter, parser),
        args       = ['/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_python_activator_cross0/e-$ è...vate/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0', '--without-pip', ...]
        discover   = Builtin discover of python_spec='/usr/bin/python2'
        env        = environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/Users/alex/src/virtualenv/.tox', 'TMPDIR': '/var/folders/hw/y1c1nkcs...ate_this.py::test_python_activator_cross (call)', 'VIRTUALENV_NO_PERIODIC_UPDATE': '1', 'VIRTUALENV_NO_DOWNLOAD': '1'})
        interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
        options    = VirtualEnvOptions(with_traceback=False, verbose=2, quiet=0, env=environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/User...0, reset_app_data=False, upgrade_embed_wheels=False, discovery=builtin, python=['/usr/bin/python2'], try_first_with=[])
        parser     = VirtualEnvConfigParser(prog='virtualenv', usage=None, description=None, formatter_class=<class 'virtualenv.config.cli.parser.HelpFormatter'>, conflict_handler='error', add_help=False)
        setup_logging = True
.tox/py39/lib/python3.9/site-packages/virtualenv/run/plugin/creators.py:15: in __init__
    creators, self.key_to_meta, self.describe, self.builtin_key = self.for_interpreter(interpreter)
        __class__  = <class 'virtualenv.run.plugin.creators.CreatorSelector'>
        interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
        parser     = VirtualEnvConfigParser(prog='virtualenv', usage=None, description=None, formatter_class=<class 'virtualenv.config.cli.parser.HelpFormatter'>, conflict_handler='error', add_help=False)
        self       = <virtualenv.run.plugin.creators.CreatorSelector object at 0x1065f8910>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'virtualenv.run.plugin.creators.CreatorSelector'>
interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})

    @classmethod
    def for_interpreter(cls, interpreter):
        key_to_class, key_to_meta, builtin_key, describe = OrderedDict(), {}, None, None
        errors = defaultdict(list)
        for key, creator_class in cls.options("virtualenv.create").items():
            if key == "builtin":
                raise RuntimeError("builtin creator is a reserved name")
            meta = creator_class.can_create(interpreter)
            if meta:
>               if meta.error:
E               AttributeError: 'bool' object has no attribute 'error'

builtin_key = None
cls        = <class 'virtualenv.run.plugin.creators.CreatorSelector'>
creator_class = <class 'virtualenv.create.via_global_ref.builtin.cpython.mac_os.CPython2macOsArmFramework'>
describe   = None
errors     = defaultdict(<class 'list'>, {})
interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
key        = 'cpython2-mac-arm-framework'
key_to_class = OrderedDict()
key_to_meta = {}
meta       = True

.tox/py39/lib/python3.9/site-packages/virtualenv/run/plugin/creators.py:27: AttributeError
---------------------------------------- Captured stdout setup -----------------------------------------
26075 find interpreter for spec PythonSpec(major=2) [INFO builtin:62]
26075 proposed PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8) [INFO builtin:69]
26075 discover PATH[0]=/Users/alex/src/virtualenv/.tox/py39/bin [DEBUG builtin:114]
26076 Attempting to acquire lock 4401655040 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:165]
26076 Lock 4401655040 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:169]
26076 get interpreter info via cmd: /Users/alex/src/virtualenv/.tox/py39/bin/python /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py [DEBUG cached_py_info:91]
26160 wrote python info of /Users/alex/src/virtualenv/.tox/py39/bin/python at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.json [DEBUG via_disk_folder:161]
26160 Attempting to release lock 4401655040 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:199]
26160 Lock 4401655040 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:202]
26160 discover exe for PathPythonInfo(spec=CPython3.9.9.final.0-64, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8) in /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9 [DEBUG py_info:403]
26160 Attempting to acquire lock 4420799552 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:165]
26161 Lock 4420799552 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:169]
26161 get interpreter info via cmd: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9 /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py [DEBUG cached_py_info:91]
26197 wrote python info of /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9 at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.json [DEBUG via_disk_folder:161]
26197 Attempting to release lock 4420799552 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:199]
26197 Lock 4420799552 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:202]
26198 Attempting to acquire lock 4420806544 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:165]
26198 Lock 4420806544 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:169]
26198 get interpreter info via cmd: /opt/homebrew/opt/python@3.9/bin/python3.9 /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py [DEBUG cached_py_info:91]
26234 wrote python info of /opt/homebrew/opt/python@3.9/bin/python3.9 at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.json [DEBUG via_disk_folder:161]
26234 Attempting to release lock 4420806544 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:199]
26234 Lock 4420806544 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:202]
26234 discover PATH[1]=/opt/homebrew/bin [DEBUG builtin:114]
26234 discover PATH[2]=/opt/homebrew/sbin [DEBUG builtin:114]
26234 discover PATH[3]=/usr/local/bin [DEBUG builtin:114]
26234 discover PATH[4]=/usr/bin [DEBUG builtin:114]
26235 Attempting to acquire lock 4401890448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:165]
26235 Lock 4401890448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:169]
26235 get interpreter info via cmd: /usr/bin/python2 /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py [DEBUG cached_py_info:91]
26289 wrote python info of /usr/bin/python2 at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.json [DEBUG via_disk_folder:161]
26289 Attempting to release lock 4401890448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:199]
26289 Lock 4401890448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:202]
26289 Attempting to acquire lock 4421464320 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:165]
26290 Lock 4421464320 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:169]
26290 get interpreter info via cmd: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py [DEBUG cached_py_info:91]
26324 wrote python info of /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.json [DEBUG via_disk_folder:161]
26324 Attempting to release lock 4421464320 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:199]
26324 Lock 4421464320 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:202]
26324 proposed PathPythonInfo(spec=CPython2.7.18.final.0-64, system=/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python, exe=/usr/bin/python2, platform=darwin, version='2.7.18 (default, Nov 13 2021, 06:17:34) \n[GCC Apple LLVM 13.0.0 (clang-1300.0.29.10) [+internal-os, ptrauth-isa=deployme', encoding_fs_io=utf-8-utf-8) [INFO builtin:69]
26325 accepted PathPythonInfo(spec=CPython2.7.18.final.0-64, system=/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python, exe=/usr/bin/python2, platform=darwin, version='2.7.18 (default, Nov 13 2021, 06:17:34) \n[GCC Apple LLVM 13.0.0 (clang-1300.0.29.10) [+internal-os, ptrauth-isa=deployme', encoding_fs_io=utf-8-utf-8) [DEBUG builtin:71]
26325 Attempting to acquire lock 4401653888 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock [DEBUG _api:165]
26326 Lock 4401653888 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock [DEBUG _api:169]
26326 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:165]
26326 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:169]
26326 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:199]
26326 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock [DEBUG _api:202]
26326 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:165]
26326 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:169]
26326 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:199]
26326 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock [DEBUG _api:202]
26326 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:165]
26326 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:169]
26326 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:199]
26326 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock [DEBUG _api:202]
26326 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:165]
26326 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:169]
26326 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:199]
26326 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock [DEBUG _api:202]
26327 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:165]
26327 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:169]
26327 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:199]
26327 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock [DEBUG _api:202]
26327 Attempting to release lock 4401653888 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock [DEBUG _api:199]
26327 Lock 4401653888 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock [DEBUG _api:202]
------------------------------------------ Captured log setup ------------------------------------------
INFO     root:builtin.py:62 find interpreter for spec PythonSpec(major=2)
INFO     root:builtin.py:69 proposed PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)
DEBUG    root:builtin.py:114 discover PATH[0]=/Users/alex/src/virtualenv/.tox/py39/bin
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401655040 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:169 Lock 4401655040 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    root:cached_py_info.py:91 get interpreter info via cmd: /Users/alex/src/virtualenv/.tox/py39/bin/python /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py
DEBUG    root:via_disk_folder.py:161 wrote python info of /Users/alex/src/virtualenv/.tox/py39/bin/python at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.json
DEBUG    filelock:_api.py:199 Attempting to release lock 4401655040 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:202 Lock 4401655040 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    root:py_info.py:403 discover exe for PathPythonInfo(spec=CPython3.9.9.final.0-64, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8) in /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420799552 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:169 Lock 4420799552 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    root:cached_py_info.py:91 get interpreter info via cmd: /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9 /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py
DEBUG    root:via_disk_folder.py:161 wrote python info of /opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9 at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.json
DEBUG    filelock:_api.py:199 Attempting to release lock 4420799552 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:202 Lock 4420799552 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420806544 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:169 Lock 4420806544 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    root:cached_py_info.py:91 get interpreter info via cmd: /opt/homebrew/opt/python@3.9/bin/python3.9 /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py
DEBUG    root:via_disk_folder.py:161 wrote python info of /opt/homebrew/opt/python@3.9/bin/python3.9 at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.json
DEBUG    filelock:_api.py:199 Attempting to release lock 4420806544 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:202 Lock 4420806544 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    root:builtin.py:114 discover PATH[1]=/opt/homebrew/bin
DEBUG    root:builtin.py:114 discover PATH[2]=/opt/homebrew/sbin
DEBUG    root:builtin.py:114 discover PATH[3]=/usr/local/bin
DEBUG    root:builtin.py:114 discover PATH[4]=/usr/bin
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401890448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:169 Lock 4401890448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    root:cached_py_info.py:91 get interpreter info via cmd: /usr/bin/python2 /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py
DEBUG    root:via_disk_folder.py:161 wrote python info of /usr/bin/python2 at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.json
DEBUG    filelock:_api.py:199 Attempting to release lock 4401890448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:202 Lock 4401890448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4421464320 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:169 Lock 4421464320 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    root:cached_py_info.py:91 get interpreter info via cmd: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /Users/alex/src/virtualenv/.tox/py39/lib/python3.9/site-packages/virtualenv/discovery/py_info.py
DEBUG    root:via_disk_folder.py:161 wrote python info of /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python at /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.json
DEBUG    filelock:_api.py:199 Attempting to release lock 4421464320 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:202 Lock 4421464320 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
INFO     root:builtin.py:69 proposed PathPythonInfo(spec=CPython2.7.18.final.0-64, system=/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python, exe=/usr/bin/python2, platform=darwin, version='2.7.18 (default, Nov 13 2021, 06:17:34) \n[GCC Apple LLVM 13.0.0 (clang-1300.0.29.10) [+internal-os, ptrauth-isa=deployme', encoding_fs_io=utf-8-utf-8)
DEBUG    root:builtin.py:71 accepted PathPythonInfo(spec=CPython2.7.18.final.0-64, system=/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python, exe=/usr/bin/python2, platform=darwin, version='2.7.18 (default, Nov 13 2021, 06:17:34) \n[GCC Apple LLVM 13.0.0 (clang-1300.0.29.10) [+internal-os, ptrauth-isa=deployme', encoding_fs_io=utf-8-utf-8)
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401653888 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:169 Lock 4401653888 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:169 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:202 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:169 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:202 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:169 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:202 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:169 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:202 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:169 Lock 4420806448 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420806448 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:202 Lock 4420806448 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4401653888 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:202 Lock 4401653888 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
---------------------------------------- Captured log teardown -----------------------------------------
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4392255152 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:169 Lock 4392255152 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401910784 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:169 Lock 4401910784 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4401910784 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:202 Lock 4401910784 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401910784 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:169 Lock 4401910784 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4401910784 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:202 Lock 4401910784 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4392255152 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:202 Lock 4392255152 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
___________________________________ test_getsitepackages_system_site ___________________________________

tmp_path = PosixPath('/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_getsitepackages_system_si0')

    def test_getsitepackages_system_site(tmp_path):
        # Test without --system-site-packages
        session = cli_run([ensure_text(str(tmp_path))])
    
        system_site_packages = get_expected_system_site_packages(session)
    
        out = subprocess.check_output(
            [str(session.creator.exe), "-c", r"import site; print(site.getsitepackages())"],
            universal_newlines=True,
        )
        site_packages = ast.literal_eval(out)
    
        for system_site_package in system_site_packages:
            assert system_site_package not in site_packages
    
        # Test with --system-site-packages
        session = cli_run([ensure_text(str(tmp_path)), "--system-site-packages"])
    
        system_site_packages = get_expected_system_site_packages(session)
    
        out = subprocess.check_output(
            [str(session.creator.exe), "-c", r"import site; print(site.getsitepackages())"],
            universal_newlines=True,
        )
        site_packages = ast.literal_eval(out)
    
        for system_site_package in system_site_packages:
>           assert system_site_package in site_packages
E           AssertionError: assert '/opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages' in ['/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_getsitepackages_system_si0/li...ackages', '/opt/homebrew/Cellar/python@3.9/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']

out        = "['/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_getsitepackages_system_si0/l...ages', '/opt/homebrew/Cellar/python@3.9/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']\n"
session    = <virtualenv.run.session.Session object at 0x10780e580>
site_packages = ['/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_getsitepackages_system_si0/li...ackages', '/opt/homebrew/Cellar/python@3.9/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']
system_site_package = '/opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages'
system_site_packages = ['/opt/homebrew/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']
tmp_path   = PosixPath('/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_getsitepackages_system_si0')

tests/unit/create/test_creator.py:653: AssertionError
------------------------------------------ Captured log setup ------------------------------------------
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4421200432 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:169 Lock 4421200432 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4421200432 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:202 Lock 4421200432 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
---------------------------------------- Captured log teardown -----------------------------------------
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420855648 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:169 Lock 4420855648 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420854640 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:169 Lock 4420854640 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420854640 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:202 Lock 4420854640 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/3e31b16f43d9fcdc6cd9cda6c9373a21a004aaf6471de99e9aba741d99d61edd.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420854640 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:169 Lock 4420854640 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420854640 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:202 Lock 4420854640 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/345aa2f3f3153332aa0250f3057c4206b814c74c10594863073df44855256fe2.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4420854640 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:169 Lock 4420854640 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420854640 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:202 Lock 4420854640 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/50292dbb1f747f7151d445135d392af3138fb3c65386d17d9510cb605222b10b.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4420855648 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:202 Lock 4420855648 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
___________________________________________ test_cross_major ___________________________________________

cross_python = PathPythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
coverage_env = <function coverage_env.<locals>.finish at 0x107ad2c10>
tmp_path = PosixPath('/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_cross_major0')
session_app_data = AppDataDiskFolder(/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0)
current_fastest = 'builtin'

    @pytest.mark.slow
    def test_cross_major(cross_python, coverage_env, tmp_path, session_app_data, current_fastest):
        cmd = [
            "-p",
            ensure_text(cross_python.executable),
            ensure_text(str(tmp_path)),
            "--no-setuptools",
            "--no-wheel",
            "--activators",
            "",
        ]
>       result = cli_run(cmd)

cmd        = ['-p', '/usr/bin/python2', '/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_cross_major0', '--no-setuptools', '--no-wheel', '--activators', ...]
coverage_env = <function coverage_env.<locals>.finish at 0x107ad2c10>
cross_python = PathPythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
current_fastest = 'builtin'
session_app_data = AppDataDiskFolder(/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0)
tmp_path   = PosixPath('/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_cross_major0')

tests/unit/create/test_creator.py:356: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/py39/lib/python3.9/site-packages/virtualenv/run/__init__.py:30: in cli_run
    of_session = session_via_cli(args, options, setup_logging, env)
        args       = ['-p', '/usr/bin/python2', '/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_cross_major0', '--no-setuptools', '--no-wheel', '--activators', ...]
        env        = environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/Users/alex/src/virtualenv/.tox', 'TMPDIR': '/var/folders/hw/y1c1nkcs...create/test_creator.py::test_cross_major (call)', 'VIRTUALENV_NO_PERIODIC_UPDATE': '1', 'VIRTUALENV_NO_DOWNLOAD': '1'})
        options    = None
        setup_logging = True
tests/conftest.py:229: in _session_via_cli
    session = prev_run(args, options, setup_logging, env)
        args       = ['-p', '/usr/bin/python2', '/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_cross_major0', '--no-setuptools', '--no-wheel', '--activators', ...]
        env        = environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/Users/alex/src/virtualenv/.tox', 'TMPDIR': '/var/folders/hw/y1c1nkcs...create/test_creator.py::test_cross_major (call)', 'VIRTUALENV_NO_PERIODIC_UPDATE': '1', 'VIRTUALENV_NO_DOWNLOAD': '1'})
        link       = <function link.<locals>._link at 0x1059aa9d0>
        monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x107836d60>
        obj        = {'cov': None}
        options    = None
        prev_run   = <function session_via_cli at 0x104c0ea60>
        setup_logging = True
.tox/py39/lib/python3.9/site-packages/virtualenv/run/__init__.py:48: in session_via_cli
    parser, elements = build_parser(args, options, setup_logging, env)
        args       = ['-p', '/usr/bin/python2', '/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_cross_major0', '--no-setuptools', '--no-wheel', '--activators', ...]
        env        = environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/Users/alex/src/virtualenv/.tox', 'TMPDIR': '/var/folders/hw/y1c1nkcs...create/test_creator.py::test_cross_major (call)', 'VIRTUALENV_NO_PERIODIC_UPDATE': '1', 'VIRTUALENV_NO_DOWNLOAD': '1'})
        options    = None
        setup_logging = True
.tox/py39/lib/python3.9/site-packages/virtualenv/run/__init__.py:74: in build_parser
    CreatorSelector(interpreter, parser),
        args       = ['-p', '/usr/bin/python2', '/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/test_cross_major0', '--no-setuptools', '--no-wheel', '--activators', ...]
        discover   = Builtin discover of python_spec='/usr/bin/python2'
        env        = environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/Users/alex/src/virtualenv/.tox', 'TMPDIR': '/var/folders/hw/y1c1nkcs...create/test_creator.py::test_cross_major (call)', 'VIRTUALENV_NO_PERIODIC_UPDATE': '1', 'VIRTUALENV_NO_DOWNLOAD': '1'})
        interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
        options    = VirtualEnvOptions(with_traceback=False, verbose=2, quiet=0, env=environ({'HOME': '/Users/alex', 'TOX_WORK_DIR': '/User...0, reset_app_data=False, upgrade_embed_wheels=False, discovery=builtin, python=['/usr/bin/python2'], try_first_with=[])
        parser     = VirtualEnvConfigParser(prog='virtualenv', usage=None, description=None, formatter_class=<class 'virtualenv.config.cli.parser.HelpFormatter'>, conflict_handler='error', add_help=False)
        setup_logging = True
.tox/py39/lib/python3.9/site-packages/virtualenv/run/plugin/creators.py:15: in __init__
    creators, self.key_to_meta, self.describe, self.builtin_key = self.for_interpreter(interpreter)
        __class__  = <class 'virtualenv.run.plugin.creators.CreatorSelector'>
        interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
        parser     = VirtualEnvConfigParser(prog='virtualenv', usage=None, description=None, formatter_class=<class 'virtualenv.config.cli.parser.HelpFormatter'>, conflict_handler='error', add_help=False)
        self       = <virtualenv.run.plugin.creators.CreatorSelector object at 0x10634eb50>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cls = <class 'virtualenv.run.plugin.creators.CreatorSelector'>
interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})

    @classmethod
    def for_interpreter(cls, interpreter):
        key_to_class, key_to_meta, builtin_key, describe = OrderedDict(), {}, None, None
        errors = defaultdict(list)
        for key, creator_class in cls.options("virtualenv.create").items():
            if key == "builtin":
                raise RuntimeError("builtin creator is a reserved name")
            meta = creator_class.can_create(interpreter)
            if meta:
>               if meta.error:
E               AttributeError: 'bool' object has no attribute 'error'

builtin_key = None
cls        = <class 'virtualenv.run.plugin.creators.CreatorSelector'>
creator_class = <class 'virtualenv.create.via_global_ref.builtin.cpython.mac_os.CPython2macOsArmFramework'>
describe   = None
errors     = defaultdict(<class 'list'>, {})
interpreter = PythonInfo({'executable': '/usr/bin/python2', 'sysconfig_paths': {'data': '{base}', 'platstdlib': '{platbase}/lib/pyth...ramework/Versions/2.7', 'exec_prefix': '/System/Library/Frameworks/Python.framework/Versions/2.7', 'architecture': 64})
key        = 'cpython2-mac-arm-framework'
key_to_class = OrderedDict()
key_to_meta = {}
meta       = True

.tox/py39/lib/python3.9/site-packages/virtualenv/run/plugin/creators.py:27: AttributeError
------------------------------------------ Captured log setup ------------------------------------------
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4421018528 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:169 Lock 4421018528 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4421018528 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:202 Lock 4421018528 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
---------------------------------------- Captured log teardown -----------------------------------------
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401529184 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:169 Lock 4401529184 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401669792 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:169 Lock 4401669792 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4401669792 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:202 Lock 4401669792 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/545e036c4b32438aced1f6b3c8d38ca151d9c36189e05839cb0aa568fda70ddd.lock
DEBUG    filelock:_api.py:165 Attempting to acquire lock 4401669792 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:169 Lock 4401669792 acquired on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4401669792 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:202 Lock 4401669792 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/f92b2924b84ff19c1c3dc485f7644d4486f64738191026bf8e6de303969141b5.lock
DEBUG    filelock:_api.py:199 Attempting to release lock 4401529184 on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
DEBUG    filelock:_api.py:202 Lock 4401529184 released on /private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/session-app-data0/py_info/1/.lock
------------------ generated xml file: /Users/alex/src/virtualenv/.tox/junit.py39.xml ------------------
======================================= short test summary info ========================================
SKIPPED [2] tests/unit/activation/conftest.py:255: BatchActivator not supported
SKIPPED [1] tests/unit/activation/conftest.py:258: Fish(
version=FileNotFoundError(2, 'No such file or directory'),
creator=CPython3Posix(dest=/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/activation-tester-env4/e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False),
interpreter=PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)) is not available due [Errno 2] No such file or directory: 'fish'
SKIPPED [1] tests/unit/activation/conftest.py:258: Fish(
version=FileNotFoundError(2, 'No such file or directory'),
creator=CPython3Posix(dest=/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/activation-tester-env5/e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False),
interpreter=PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)) is not available due [Errno 2] No such file or directory: 'fish'
SKIPPED [1] tests/unit/activation/conftest.py:258: PowerShell(
version=FileNotFoundError(2, 'No such file or directory'),
creator=CPython3Posix(dest=/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/activation-tester-env6/e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False),
interpreter=PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)) is not available due [Errno 2] No such file or directory: 'pwsh'
SKIPPED [1] tests/unit/activation/conftest.py:258: PowerShell(
version=FileNotFoundError(2, 'No such file or directory'),
creator=CPython3Posix(dest=/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/activation-tester-env7/e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False),
interpreter=PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)) is not available due [Errno 2] No such file or directory: 'pwsh'
SKIPPED [1] tests/unit/activation/conftest.py:258: Nushell(
version=TypeError('expected str, bytes or os.PathLike object, not NoneType'),
creator=CPython3Posix(dest=/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/activation-tester-env8/e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False),
interpreter=PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)) is not available due expected str, bytes or os.PathLike object, not NoneType
SKIPPED [1] tests/unit/activation/conftest.py:258: Nushell(
version=TypeError('expected str, bytes or os.PathLike object, not NoneType'),
creator=CPython3Posix(dest=/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn040000gn/T/pytest-of-alex/pytest-10/activation-tester-env9/e-$ èрт🚒♞中片-j, clear=False, no_vcs_ignore=False, global=False),
interpreter=PythonInfo(spec=CPython3.9.9.final.0-64, system=/opt/homebrew/opt/python@3.9/bin/python3.9, exe=/Users/alex/src/virtualenv/.tox/py39/bin/python, platform=darwin, version='3.9.9 (main, Nov 21 2021, 03:16:13) \n[Clang 13.0.0 (clang-1300.0.29.3)]', encoding_fs_io=utf-8-utf-8)) is not available due expected str, bytes or os.PathLike object, not NoneType
SKIPPED [1] tests/unit/test_util.py:19: subprocess patch only applied on Windows python2
SKIPPED [1] tests/unit/discovery/windows/test_windows_pep514.py:33: no Windows registry
SKIPPED [1] tests/unit/discovery/windows/test_windows_pep514.py:14: no Windows registry
SKIPPED [8] tests/unit/create/conftest.py:101: could not resolve interpreter based on old_virtualenv because failed to create old virtualenv assert not 1
 +  where 1 = <Popen: returncode: 1 args: ['/private/var/folders/hw/y1c1nkcs3ls5j9kv5rr_tn...>.returncode
SKIPPED [1] tests/unit/create/test_creator.py:315: venv without clear might fail
SKIPPED [2] tests/unit/create/test_creator.py:467: we rewrite sys.path only on PY2
SKIPPED [2] tests/unit/create/test_creator.py:523: stdlib components without py files only possible on CPython2
SKIPPED [1] tests/unit/create/test_creator.py:389: OS does not have an altsep
SKIPPED [1] tests/unit/create/test_creator.py:294: python 2 only tests
FAILED tests/unit/activation/test_activate_this.py::test_python_activator_cross - AttributeError: 'bo...
FAILED tests/unit/create/test_creator.py::test_getsitepackages_system_site - AssertionError: assert '...
FAILED tests/unit/create/test_creator.py::test_cross_major - AttributeError: 'bool' object has no att...
========================= 3 failed, 277 passed, 26 skipped in 80.49s (0:01:20) =========================
ERROR: InvocationError for command /Users/alex/src/virtualenv/.tox/py39/bin/python -m coverage run -m pytest --color=yes --junitxml .tox/junit.py39.xml tests --int --timeout 600 (exited with code 1)
py38 create: /Users/alex/src/virtualenv/.tox/py38
SKIPPED: InterpreterNotFound: python3.8
py37 create: /Users/alex/src/virtualenv/.tox/py37
SKIPPED: InterpreterNotFound: python3.7
py36 create: /Users/alex/src/virtualenv/.tox/py36
SKIPPED: InterpreterNotFound: python3.6
py35 create: /Users/alex/src/virtualenv/.tox/py35
SKIPPED: InterpreterNotFound: python3.5
py27 create: /Users/alex/src/virtualenv/.tox/py27
_______________________________________________ summary ________________________________________________
  fix_lint: commands succeeded
ERROR:   py39: commands failed
SKIPPED:  py38: InterpreterNotFound: python3.8
SKIPPED:  py37: InterpreterNotFound: python3.7
SKIPPED:  py36: InterpreterNotFound: python3.6
SKIPPED:  py35: InterpreterNotFound: python3.5
  py27: commands succeeded
ERROR:   pypy3: undefined
ERROR:   pypy2: undefined
ERROR:   readme: undefined
ERROR:   docs: undefined
ERROR:   coverage: undefined
Traceback (most recent call last):
  File "/opt/homebrew/bin/tox", line 8, in <module>
    sys.exit(cmdline())
  File "/opt/homebrew/Cellar/tox/3.24.4_1/libexec/lib/python3.10/site-packages/tox/session/__init__.py", line 44, in cmdline
    main(args)
  File "/opt/homebrew/Cellar/tox/3.24.4_1/libexec/lib/python3.10/site-packages/tox/session/__init__.py", line 69, in main
    exit_code = session.runcommand()
  File "/opt/homebrew/Cellar/tox/3.24.4_1/libexec/lib/python3.10/site-packages/tox/session/__init__.py", line 197, in runcommand
    return self.subcommand_test()
  File "/opt/homebrew/Cellar/tox/3.24.4_1/libexec/lib/python3.10/site-packages/tox/session/__init__.py", line 225, in subcommand_test
    run_sequential(self.config, self.venv_dict)
  File "/opt/homebrew/Cellar/tox/3.24.4_1/libexec/lib/python3.10/site-packages/tox/session/commands/run/sequential.py", line 9, in run_sequential
    if venv.setupenv():
  File "/opt/homebrew/Cellar/tox/3.24.4_1/libexec/lib/python3.10/site-packages/tox/venv.py", line 657, in setupenv
    envlog.set_python_info(command_path)
  File "/opt/homebrew/Cellar/tox/3.24.4_1/libexec/lib/python3.10/site-packages/tox/logs/env.py", line 18, in set_python_info
    answer["executable"] = python_executable
TypeError: 'NoneType' object does not support item assignment

moreati added a commit to moreati/virtualenv that referenced this pull request Dec 31, 2021
Fixes pypa#2269

> AttributeError: 'bool' object has no attribute 'error'

when creating a Python 2.x environment on macOS with virtualenv 20.12.0.

Refs pypa#2233
moreati added a commit to moreati/virtualenv that referenced this pull request Dec 31, 2021
Fixes pypa#2271

> PermissionError: [Errno 1] Operation not permitted:
'/Users/alex/src/virtualenv/v27/bin/bk'

Requires pypa#2270
Refs pypa#2233
mergify bot pushed a commit to andrewbolster/bolster that referenced this pull request Dec 31, 2021
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.11.2 to 20.12.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst">virtualenv's changelog</a>.</em></p>
<blockquote>
<h2>v20.12.0 (2021-12-31)</h2>
<p>Features - 20.12.0</p>
<pre><code>- Sign the python2 exe on Darwin arm64 - by :user:`tmspicer`. (`[#2233](pypa/virtualenv#2233) &lt;https://github.com/pypa/virtualenv/issues/2233&gt;`_)
<p>Bugfixes - 20.12.0
</code></pre></p>
<ul>
<li>Fix <code>--download</code> option - by :user:<code>mayeut</code>. (<code>[#2120](pypa/virtualenv#2120) &lt;https://github.com/pypa/virtualenv/issues/2120&gt;</code>_)</li>
<li>Ugrade embedded setuptools to <code>60.2.0</code> from <code>60.1.1</code> - by :user:<code>gaborbernat</code>. (<code>[#2263](pypa/virtualenv#2263) &lt;https://github.com/pypa/virtualenv/issues/2263&gt;</code>_)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/virtualenv/commit/232a0b644471bd26ed3147404df1bc018fc5a097"><code>232a0b6</code></a> release 20.12.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/614b023492f66b07ae96716c308f1560f7ce5230"><code>614b023</code></a> Bump embed setuptools (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2263">#2263</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/f7ababdf0be4db3625444bbb20fa268a3885e645"><code>f7ababd</code></a> Sign the python2 exe on Darwin arm64 (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2233">#2233</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/61c065ba7731b65bdc15af7900aa530963695868"><code>61c065b</code></a> fix: <code>--download</code> option (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2262">#2262</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/b17dcd4ce1f608059448566fb3e929e911d8bf43"><code>b17dcd4</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2261">#2261</a> from pypa/release-20.11.2</li>
<li>See full diff in <a href="https://github.com/pypa/virtualenv/compare/20.11.2...20.12.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=virtualenv&package-manager=pip&previous-version=20.11.2&new-version=20.12.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
moreati added a commit to moreati/virtualenv that referenced this pull request Jan 1, 2022
Fixes pypa#2269

> AttributeError: 'bool' object has no attribute 'error'

when creating a Python 2.x environment on macOS with virtualenv 20.12.0.

Refs pypa#2233
moreati added a commit to moreati/virtualenv that referenced this pull request Jan 1, 2022
Fixes pypa#2271

> PermissionError: [Errno 1] Operation not permitted:
'/Users/alex/src/virtualenv/v27/bin/bk'

Requires pypa#2270
Refs pypa#2233
@moreati
Copy link
Contributor

moreati commented Jan 1, 2022

@tmspicer do you remember if you were running macOS 11 (Big Sur), or macOS 12 (Monterey) when you tested this codesign workaround? The workaround is not working for me on macOS 12/arm64 and I'm wondering if it's due to an OS version difference, or another factor.

renefritze added a commit to renefritze/check_reqs that referenced this pull request Jan 3, 2022
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.11.2 to 20.13.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst">virtualenv's changelog</a>.</em></p>
<blockquote>
<h2>v20.13.0 (2022-01-02)</h2>
<p>Features - 20.13.0</p>
<pre><code>- Add downloaded wheel information in the relevant JSON embed file to
  prevent additional downloads of the same wheel. - by :user:`mayeut`. (`[#2268](pypa/virtualenv#2268) &lt;https://github.com/pypa/virtualenv/issues/2268&gt;`_)
<p>Bugfixes - 20.13.0
</code></pre></p>
<ul>
<li>Fix <code>AttributeError: 'bool' object has no attribute 'error'</code> when creating a
Python 2.x virtualenv on macOS - by <code>moreati</code>. (<code>[#2269](pypa/virtualenv#2269) &lt;https://github.com/pypa/virtualenv/issues/2269&gt;</code>_)</li>
<li>Fix <code>PermissionError: [Errno 1] Operation not permitted</code> when creating a
Python 2.x virtualenv on macOS/arm64 - by <code>moreati</code>. (<code>[#2271](pypa/virtualenv#2271) &lt;https://github.com/pypa/virtualenv/issues/2271&gt;</code>_)</li>
</ul>
<h2>v20.12.1 (2022-01-01)</h2>
<p>Bugfixes - 20.12.1</p>
<pre><code>- Try using previous updates of ``pip``, ``setuptools`` &amp; ``wheel``
  when inside an update grace period rather than always falling back
  to embedded wheels - by :user:`mayeut`. (`[#2265](pypa/virtualenv#2265) &lt;https://github.com/pypa/virtualenv/issues/2265&gt;`_)
- New patch versions of ``pip``, ``setuptools`` &amp; ``wheel`` are now
  returned in the expected timeframe. - by :user:`mayeut`. (`[#2266](pypa/virtualenv#2266) &lt;https://github.com/pypa/virtualenv/issues/2266&gt;`_)
- Manual upgrades of ``pip``, ``setuptools`` &amp; ``wheel`` are
  not discarded by a periodic update - by :user:`mayeut`. (`[#2267](pypa/virtualenv#2267) &lt;https://github.com/pypa/virtualenv/issues/2267&gt;`_)
<h2>v20.12.0 (2021-12-31)</h2>
<p>Features - 20.12.0
</code></pre></p>
<ul>
<li>Sign the python2 exe on Darwin arm64 - by :user:<code>tmspicer</code>. (<code>[#2233](pypa/virtualenv#2233) &lt;https://github.com/pypa/virtualenv/issues/2233&gt;</code>_)</li>
</ul>
<p>Bugfixes - 20.12.0</p>
<pre><code>- Fix ``--download`` option - by :user:`mayeut`. (`[#2120](pypa/virtualenv#2120) &lt;https://github.com/pypa/virtualenv/issues/2120&gt;`_)
- Ugrade embedded setuptools to ``60.2.0`` from ``60.1.1`` - by :user:`gaborbernat`. (`[#2263](pypa/virtualenv#2263) &lt;https://github.com/pypa/virtualenv/issues/2263&gt;`_)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/virtualenv/commit/568136cd8872e78a266411ca83b0cfc190acc090"><code>568136c</code></a> release 20.13.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/e813ac1fd3c0a21a7c2a2448650bbe6ac53b8753"><code>e813ac1</code></a> PyPy: glob for required dlls, check they exist (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2274">#2274</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/856933e30fb573f966150d6e2d568a81761b165b"><code>856933e</code></a> fix: Correctly remove bk dir when re-signing macOS Python 2.x executable (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2272">#2272</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/50c5591fe9f01dfbc46ceb5638a10b837514410c"><code>50c5591</code></a> fix: AttributeError on macOS creating a Python 2.x virtualenv (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2270">#2270</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/319a540001f68b60fd7367e31d5d7398dbd3a1ef"><code>319a540</code></a> feature: cache downloaded wheel information (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2276">#2276</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/5f65057501e9e6b86e02fe7d9a26649f65ce9254"><code>5f65057</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2275">#2275</a> from pypa/release-20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/879926629d8c26856e225ee65b02fc75a72aa186"><code>8799266</code></a> release 20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/4308ddb276962c6ffdf0285c809a81f6bef8dbb0"><code>4308ddb</code></a> feature: store version update source in embed JSON file (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2273">#2273</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/51408e689b3eb28d87cb4d9638b09e6e4d81f618"><code>51408e6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2264">#2264</a> from pypa/release-20.12.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/232a0b644471bd26ed3147404df1bc018fc5a097"><code>232a0b6</code></a> release 20.12.0</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/virtualenv/compare/20.11.2...20.13.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=virtualenv&package-manager=pip&previous-version=20.11.2&new-version=20.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
@tmspicer
Copy link
Contributor Author

tmspicer commented Jan 5, 2022

@tmspicer do you remember if you were running macOS 11 (Big Sur), or macOS 12 (Monterey) when you tested this codesign workaround? The workaround is not working for me on macOS 12/arm64 and I'm wondering if it's due to an OS version difference, or another factor.

@moreati I was on Big Sur when I tested this. I'm just getting my M1 onto Monterey so I didn't test it there.

bors bot added a commit to ChrisRBe/PP-P2P-Parser that referenced this pull request Jan 6, 2022
472: build(deps): bump virtualenv from 20.11.2 to 20.13.0 r=ChrisRBe a=dependabot[bot]

Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.11.2 to 20.13.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst">virtualenv's changelog</a>.</em></p>
<blockquote>
<h2>v20.13.0 (2022-01-02)</h2>
<p>Features - 20.13.0</p>
<pre><code>- Add downloaded wheel information in the relevant JSON embed file to
  prevent additional downloads of the same wheel. - by :user:`mayeut`. (`[#2268](pypa/virtualenv#2268) &lt;https://github.com/pypa/virtualenv/issues/2268&gt;`_)
<p>Bugfixes - 20.13.0
</code></pre></p>
<ul>
<li>Fix <code>AttributeError: 'bool' object has no attribute 'error'</code> when creating a
Python 2.x virtualenv on macOS - by <code>moreati</code>. (<code>[#2269](pypa/virtualenv#2269) &lt;https://github.com/pypa/virtualenv/issues/2269&gt;</code>_)</li>
<li>Fix <code>PermissionError: [Errno 1] Operation not permitted</code> when creating a
Python 2.x virtualenv on macOS/arm64 - by <code>moreati</code>. (<code>[#2271](pypa/virtualenv#2271) &lt;https://github.com/pypa/virtualenv/issues/2271&gt;</code>_)</li>
</ul>
<h2>v20.12.1 (2022-01-01)</h2>
<p>Bugfixes - 20.12.1</p>
<pre><code>- Try using previous updates of ``pip``, ``setuptools`` &amp; ``wheel``
  when inside an update grace period rather than always falling back
  to embedded wheels - by :user:`mayeut`. (`[#2265](pypa/virtualenv#2265) &lt;https://github.com/pypa/virtualenv/issues/2265&gt;`_)
- New patch versions of ``pip``, ``setuptools`` &amp; ``wheel`` are now
  returned in the expected timeframe. - by :user:`mayeut`. (`[#2266](pypa/virtualenv#2266) &lt;https://github.com/pypa/virtualenv/issues/2266&gt;`_)
- Manual upgrades of ``pip``, ``setuptools`` &amp; ``wheel`` are
  not discarded by a periodic update - by :user:`mayeut`. (`[#2267](pypa/virtualenv#2267) &lt;https://github.com/pypa/virtualenv/issues/2267&gt;`_)
<h2>v20.12.0 (2021-12-31)</h2>
<p>Features - 20.12.0
</code></pre></p>
<ul>
<li>Sign the python2 exe on Darwin arm64 - by :user:<code>tmspicer</code>. (<code>[#2233](pypa/virtualenv#2233) &lt;https://github.com/pypa/virtualenv/issues/2233&gt;</code>_)</li>
</ul>
<p>Bugfixes - 20.12.0</p>
<pre><code>- Fix ``--download`` option - by :user:`mayeut`. (`[#2120](pypa/virtualenv#2120) &lt;https://github.com/pypa/virtualenv/issues/2120&gt;`_)
- Ugrade embedded setuptools to ``60.2.0`` from ``60.1.1`` - by :user:`gaborbernat`. (`[#2263](pypa/virtualenv#2263) &lt;https://github.com/pypa/virtualenv/issues/2263&gt;`_)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/virtualenv/commit/568136cd8872e78a266411ca83b0cfc190acc090"><code>568136c</code></a> release 20.13.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/e813ac1fd3c0a21a7c2a2448650bbe6ac53b8753"><code>e813ac1</code></a> PyPy: glob for required dlls, check they exist (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2274">#2274</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/856933e30fb573f966150d6e2d568a81761b165b"><code>856933e</code></a> fix: Correctly remove bk dir when re-signing macOS Python 2.x executable (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2272">#2272</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/50c5591fe9f01dfbc46ceb5638a10b837514410c"><code>50c5591</code></a> fix: AttributeError on macOS creating a Python 2.x virtualenv (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2270">#2270</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/319a540001f68b60fd7367e31d5d7398dbd3a1ef"><code>319a540</code></a> feature: cache downloaded wheel information (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2276">#2276</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/5f65057501e9e6b86e02fe7d9a26649f65ce9254"><code>5f65057</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2275">#2275</a> from pypa/release-20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/879926629d8c26856e225ee65b02fc75a72aa186"><code>8799266</code></a> release 20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/4308ddb276962c6ffdf0285c809a81f6bef8dbb0"><code>4308ddb</code></a> feature: store version update source in embed JSON file (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2273">#2273</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/51408e689b3eb28d87cb4d9638b09e6e4d81f618"><code>51408e6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2264">#2264</a> from pypa/release-20.12.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/232a0b644471bd26ed3147404df1bc018fc5a097"><code>232a0b6</code></a> release 20.12.0</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/virtualenv/compare/20.11.2...20.13.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=virtualenv&package-manager=pip&previous-version=20.11.2&new-version=20.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

473: build(deps): bump astroid from 2.9.0 to 2.9.2 r=ChrisRBe a=dependabot[bot]

Bumps [astroid](https://github.com/PyCQA/astroid) from 2.9.0 to 2.9.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/PyCQA/astroid/blob/main/ChangeLog">astroid's changelog</a>.</em></p>
<blockquote>
<h1>What's New in astroid 2.9.2?</h1>
<p>Release date: 2022-01-04</p>
<ul>
<li>Fixed regression in <code>astroid.scoped_nodes</code> where <code>_is_metaclass</code>
was not accessible anymore.</li>
</ul>
<p>Closes <a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1325">#1325</a></p>
<h1>What's New in astroid 2.9.1?</h1>
<p>Release date: 2021-12-31</p>
<ul>
<li>
<p><code>NodeNG.frame()</code> and <code>NodeNG.statement()</code> will start raising <code>ParentMissingError</code>
instead of <code>AttributeError</code> in astroid 3.0. This behaviour can already be triggered
by passing <code>future=True</code> to a <code>frame()</code> or <code>statement()</code> call.</p>
</li>
<li>
<p>Prefer the module loader get_source() method in AstroidBuilder's
module_build() when possible to avoid assumptions about source
code being available on a filesystem.  Otherwise the source cannot
be found and application behavior changes when running within an
embedded hermetic interpreter environment (pyoxidizer, etc.).</p>
</li>
<li>
<p>Require Python 3.6.2 to use astroid.</p>
</li>
<li>
<p>Removed custom <code>distutils</code> handling for resolving paths to submodules.</p>
<p>Ref <a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1321">#1321</a></p>
</li>
<li>
<p>Fix <code>deque.insert()</code> signature in <code>collections</code> brain.</p>
<p>Closes <a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1260">#1260</a></p>
</li>
<li>
<p>Fix <code>Module</code> nodes not having a <code>col_offset</code>, <code>end_lineno</code>, and <code>end_col_offset</code>
attributes.</p>
</li>
<li>
<p>Fix typing and update explanation for <code>Arguments.args</code> being <code>None</code>.</p>
</li>
<li>
<p>Fix crash if a variable named <code>type</code> is subscripted in a generator expression.</p>
<p>Closes <a href="https://github-redirect.dependabot.com/PyCQA/pylint/issues/5461">PyCQA/pylint#5461</a></p>
</li>
<li>
<p>Enable inference of dataclass import from marshmallow_dataclass.
This allows the dataclasses brain to recognize dataclasses annotated by marshmallow_dataclass.</p>
</li>
<li>
<p>Resolve symlinks in the import path
Fixes inference error when the import path includes symlinks (e.g. Python
installed on macOS via Homebrew).</p>
<p>Closes <a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/823">#823</a></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/PyCQA/astroid/commit/101aed9d304cae4c3d0d9140f151b852b21c7ddf"><code>101aed9</code></a> Bump astroid to 2.9.2, update changelog</li>
<li><a href="https://github.com/PyCQA/astroid/commit/c44b1de2d5ab17898534ec44db8ee9090eb26f7f"><code>c44b1de</code></a> Fix import astroid.scoped_nodes (<a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1325">#1325</a>)</li>
<li><a href="https://github.com/PyCQA/astroid/commit/fe51be5cd051cea8699f30b338e85f7763cd2ab7"><code>fe51be5</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1328">#1328</a>)</li>
<li><a href="https://github.com/PyCQA/astroid/commit/21a2983826c903878bdd23e283dbc00545b32daa"><code>21a2983</code></a> Upgrade the version to 2.9.2-dev0 following 2.9.2 release</li>
<li><a href="https://github.com/PyCQA/astroid/commit/e36b4388aebb892c10ed779bafc9c1a07a325b8d"><code>e36b438</code></a> Bump astroid to 2.9.1, update changelog</li>
<li><a href="https://github.com/PyCQA/astroid/commit/51f552cecd15569cb651337fa7f8f9e27eeec579"><code>51f552c</code></a> Remove distutils path patching (<a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1321">#1321</a>)</li>
<li><a href="https://github.com/PyCQA/astroid/commit/0d1211558670cfefd95b39984b8d5f7f34837f32"><code>0d12115</code></a> Add typing to <code>brain_dataclasses</code> (<a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1292">#1292</a>)</li>
<li><a href="https://github.com/PyCQA/astroid/commit/aa4f5bed58dc6521a6c2c0927ca0e0da48fd5ea5"><code>aa4f5be</code></a> Add future=True to frame calls (<a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1305">#1305</a>)</li>
<li><a href="https://github.com/PyCQA/astroid/commit/7afd696520f70a46334adea6d39f7150379198f3"><code>7afd696</code></a> Revert &quot;Revert &quot;Remove useless NoReturn in NodeNG.statement's typing (<a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1304">#1304</a>)&quot;...</li>
<li><a href="https://github.com/PyCQA/astroid/commit/12e2e8ce8a33b06c9b3d97007ca89120b529c215"><code>12e2e8c</code></a> Fix frame() error on inferred node (<a href="https://github-redirect.dependabot.com/PyCQA/astroid/issues/1263">#1263</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/PyCQA/astroid/compare/v2.9.0...v2.9.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=astroid&package-manager=pip&previous-version=2.9.0&new-version=2.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

474: build(deps): bump requests from 2.26.0 to 2.27.0 r=ChrisRBe a=dependabot[bot]

Bumps [requests](https://github.com/psf/requests) from 2.26.0 to 2.27.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/psf/requests/blob/main/HISTORY.md">requests's changelog</a>.</em></p>
<blockquote>
<h2>2.27.0 (2022-01-03)</h2>
<p><strong>Improvements</strong></p>
<ul>
<li>
<p>Officially added support for Python 3.10. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5928">#5928</a>)</p>
</li>
<li>
<p>Added a <code>requests.exceptions.JSONDecodeError</code> to unify JSON exceptions between
Python 2 and 3. This gets raised in the <code>response.json()</code> method, and is
backwards compatible as it inherits from previously thrown exceptions.
Can be caught from <code>requests.exceptions.RequestException</code> as well. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5856">#5856</a>)</p>
</li>
<li>
<p>Improved error text for misnamed <code>InvalidSchema</code> and <code>MissingSchema</code>
exceptions. This is a temporary fix until exceptions can be renamed
(Schema-&gt;Scheme). (<a href="https://github-redirect.dependabot.com/psf/requests/issues/6017">#6017</a>)</p>
</li>
<li>
<p>Improved proxy parsing for proxy URLs missing a scheme. This will address
recent changes to <code>urlparse</code> in Python 3.9+. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5917">#5917</a>)</p>
</li>
</ul>
<p><strong>Bugfixes</strong></p>
<ul>
<li>
<p>Fixed defect in <code>extract_zipped_paths</code> which could result in an infinite loop
for some paths. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5851">#5851</a>)</p>
</li>
<li>
<p>Fixed handling for <code>AttributeError</code> when calculating length of files obtained
by <code>Tarfile.extractfile()</code>. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5239">#5239</a>)</p>
</li>
<li>
<p>Fixed urllib3 exception leak, wrapping <code>urllib3.exceptions.InvalidHeader</code> with
<code>requests.exceptions.InvalidHeader</code>. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5914">#5914</a>)</p>
</li>
<li>
<p>Fixed bug where two Host headers were sent for chunked requests. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5391">#5391</a>)</p>
</li>
<li>
<p>Fixed regression in Requests 2.26.0 where <code>Proxy-Authorization</code> was
incorrectly stripped from all requests sent with <code>Session.send</code>. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5924">#5924</a>)</p>
</li>
<li>
<p>Fixed performance regression in 2.26.0 for hosts with a large number of
proxies available in the environment. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5924">#5924</a>)</p>
</li>
<li>
<p>Fixed idna exception leak, wrapping <code>UnicodeError</code> with
<code>requests.exceptions.InvalidURL</code> for URLs with a leading dot (.) in the
domain. (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5414">#5414</a>)</p>
</li>
</ul>
<p><strong>Deprecations</strong></p>
<ul>
<li>Requests support for Python 2.7 and 3.6 will be ending in 2022. While we
don't have exact dates, Requests 2.27.x is likely to be the last release
series providing support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/psf/requests/commit/0192aac24123735b3eaf9b08df46429bb770c283"><code>0192aac</code></a> v2.27.0</li>
<li><a href="https://github.com/psf/requests/commit/e50dc12b0f620ff80a0d2026b5b0a5282894bfd4"><code>e50dc12</code></a> Fix doc link</li>
<li><a href="https://github.com/psf/requests/commit/17e6e27a93131b7295165408e69b4cadb098b0d7"><code>17e6e27</code></a> General cleanup for 2.27.0</li>
<li><a href="https://github.com/psf/requests/commit/ab38e2c72608b95b047b05ccfaca833edb9db1b1"><code>ab38e2c</code></a> Make the <code>data</code> vs <code>json</code> parameters more clear (<a href="https://github-redirect.dependabot.com/psf/requests/issues/5382">#5382</a>)</li>
<li><a href="https://github.com/psf/requests/commit/77d1e9aa3e000b40fdf93cfc355e1fe7cc52b6ac"><code>77d1e9a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/psf/requests/issues/5894">#5894</a> from dbaxa/do-not-re-build-proxies-when-proxies-have...</li>
<li><a href="https://github.com/psf/requests/commit/b0829a869081c2a6180db2cdc41a5676922becd0"><code>b0829a8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/psf/requests/issues/6020">#6020</a> from nateprewitt/pypy_37</li>
<li><a href="https://github.com/psf/requests/commit/28d537dde33b35c3b7071afd99122eff3538b42c"><code>28d537d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/psf/requests/issues/5917">#5917</a> from nateprewitt/proxy_scheme_unknown_fix</li>
<li><a href="https://github.com/psf/requests/commit/86bbee71b286d6d6e968381a7a49a0831d3ab67b"><code>86bbee7</code></a> Update 3.10-dev to 3.10 and add pypy-3.7</li>
<li><a href="https://github.com/psf/requests/commit/0d5347e6281c85059be176fe650b0aa7128f1dcb"><code>0d5347e</code></a> Only compute should_bypass_proxies if needed</li>
<li><a href="https://github.com/psf/requests/commit/ef59aa0227bf463f0ed3d752b26db9b3acc64afb"><code>ef59aa0</code></a> Move from urlparse to parse_url for prepending schemes</li>
<li>Additional commits viewable in <a href="https://github.com/psf/requests/compare/v2.26.0...v2.27.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=requests&package-manager=pip&previous-version=2.26.0&new-version=2.27.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bors bot added a commit to ChrisRBe/PP-P2P-Parser that referenced this pull request Jan 6, 2022
472: build(deps): bump virtualenv from 20.11.2 to 20.13.0 r=ChrisRBe a=dependabot[bot]

Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.11.2 to 20.13.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst">virtualenv's changelog</a>.</em></p>
<blockquote>
<h2>v20.13.0 (2022-01-02)</h2>
<p>Features - 20.13.0</p>
<pre><code>- Add downloaded wheel information in the relevant JSON embed file to
  prevent additional downloads of the same wheel. - by :user:`mayeut`. (`[#2268](pypa/virtualenv#2268) &lt;https://github.com/pypa/virtualenv/issues/2268&gt;`_)
<p>Bugfixes - 20.13.0
</code></pre></p>
<ul>
<li>Fix <code>AttributeError: 'bool' object has no attribute 'error'</code> when creating a
Python 2.x virtualenv on macOS - by <code>moreati</code>. (<code>[#2269](pypa/virtualenv#2269) &lt;https://github.com/pypa/virtualenv/issues/2269&gt;</code>_)</li>
<li>Fix <code>PermissionError: [Errno 1] Operation not permitted</code> when creating a
Python 2.x virtualenv on macOS/arm64 - by <code>moreati</code>. (<code>[#2271](pypa/virtualenv#2271) &lt;https://github.com/pypa/virtualenv/issues/2271&gt;</code>_)</li>
</ul>
<h2>v20.12.1 (2022-01-01)</h2>
<p>Bugfixes - 20.12.1</p>
<pre><code>- Try using previous updates of ``pip``, ``setuptools`` &amp; ``wheel``
  when inside an update grace period rather than always falling back
  to embedded wheels - by :user:`mayeut`. (`[#2265](pypa/virtualenv#2265) &lt;https://github.com/pypa/virtualenv/issues/2265&gt;`_)
- New patch versions of ``pip``, ``setuptools`` &amp; ``wheel`` are now
  returned in the expected timeframe. - by :user:`mayeut`. (`[#2266](pypa/virtualenv#2266) &lt;https://github.com/pypa/virtualenv/issues/2266&gt;`_)
- Manual upgrades of ``pip``, ``setuptools`` &amp; ``wheel`` are
  not discarded by a periodic update - by :user:`mayeut`. (`[#2267](pypa/virtualenv#2267) &lt;https://github.com/pypa/virtualenv/issues/2267&gt;`_)
<h2>v20.12.0 (2021-12-31)</h2>
<p>Features - 20.12.0
</code></pre></p>
<ul>
<li>Sign the python2 exe on Darwin arm64 - by :user:<code>tmspicer</code>. (<code>[#2233](pypa/virtualenv#2233) &lt;https://github.com/pypa/virtualenv/issues/2233&gt;</code>_)</li>
</ul>
<p>Bugfixes - 20.12.0</p>
<pre><code>- Fix ``--download`` option - by :user:`mayeut`. (`[#2120](pypa/virtualenv#2120) &lt;https://github.com/pypa/virtualenv/issues/2120&gt;`_)
- Ugrade embedded setuptools to ``60.2.0`` from ``60.1.1`` - by :user:`gaborbernat`. (`[#2263](pypa/virtualenv#2263) &lt;https://github.com/pypa/virtualenv/issues/2263&gt;`_)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/virtualenv/commit/568136cd8872e78a266411ca83b0cfc190acc090"><code>568136c</code></a> release 20.13.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/e813ac1fd3c0a21a7c2a2448650bbe6ac53b8753"><code>e813ac1</code></a> PyPy: glob for required dlls, check they exist (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2274">#2274</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/856933e30fb573f966150d6e2d568a81761b165b"><code>856933e</code></a> fix: Correctly remove bk dir when re-signing macOS Python 2.x executable (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2272">#2272</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/50c5591fe9f01dfbc46ceb5638a10b837514410c"><code>50c5591</code></a> fix: AttributeError on macOS creating a Python 2.x virtualenv (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2270">#2270</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/319a540001f68b60fd7367e31d5d7398dbd3a1ef"><code>319a540</code></a> feature: cache downloaded wheel information (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2276">#2276</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/5f65057501e9e6b86e02fe7d9a26649f65ce9254"><code>5f65057</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2275">#2275</a> from pypa/release-20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/879926629d8c26856e225ee65b02fc75a72aa186"><code>8799266</code></a> release 20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/4308ddb276962c6ffdf0285c809a81f6bef8dbb0"><code>4308ddb</code></a> feature: store version update source in embed JSON file (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2273">#2273</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/51408e689b3eb28d87cb4d9638b09e6e4d81f618"><code>51408e6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2264">#2264</a> from pypa/release-20.12.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/232a0b644471bd26ed3147404df1bc018fc5a097"><code>232a0b6</code></a> release 20.12.0</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/virtualenv/compare/20.11.2...20.13.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=virtualenv&package-manager=pip&previous-version=20.11.2&new-version=20.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
qujingpengf added a commit to qujingpengf/ChrisRBe that referenced this pull request Jan 22, 2022
472: build(deps): bump virtualenv from 20.11.2 to 20.13.0 r=ChrisRBe a=dependabot[bot]

Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.11.2 to 20.13.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst">virtualenv's changelog</a>.</em></p>
<blockquote>
<h2>v20.13.0 (2022-01-02)</h2>
<p>Features - 20.13.0</p>
<pre><code>- Add downloaded wheel information in the relevant JSON embed file to
  prevent additional downloads of the same wheel. - by :user:`mayeut`. (`[#2268](pypa/virtualenv#2268) &lt;https://github.com/pypa/virtualenv/issues/2268&gt;`_)
<p>Bugfixes - 20.13.0
</code></pre></p>
<ul>
<li>Fix <code>AttributeError: 'bool' object has no attribute 'error'</code> when creating a
Python 2.x virtualenv on macOS - by <code>moreati</code>. (<code>[#2269](pypa/virtualenv#2269) &lt;https://github.com/pypa/virtualenv/issues/2269&gt;</code>_)</li>
<li>Fix <code>PermissionError: [Errno 1] Operation not permitted</code> when creating a
Python 2.x virtualenv on macOS/arm64 - by <code>moreati</code>. (<code>[#2271](pypa/virtualenv#2271) &lt;https://github.com/pypa/virtualenv/issues/2271&gt;</code>_)</li>
</ul>
<h2>v20.12.1 (2022-01-01)</h2>
<p>Bugfixes - 20.12.1</p>
<pre><code>- Try using previous updates of ``pip``, ``setuptools`` &amp; ``wheel``
  when inside an update grace period rather than always falling back
  to embedded wheels - by :user:`mayeut`. (`[#2265](pypa/virtualenv#2265) &lt;https://github.com/pypa/virtualenv/issues/2265&gt;`_)
- New patch versions of ``pip``, ``setuptools`` &amp; ``wheel`` are now
  returned in the expected timeframe. - by :user:`mayeut`. (`[#2266](pypa/virtualenv#2266) &lt;https://github.com/pypa/virtualenv/issues/2266&gt;`_)
- Manual upgrades of ``pip``, ``setuptools`` &amp; ``wheel`` are
  not discarded by a periodic update - by :user:`mayeut`. (`[#2267](pypa/virtualenv#2267) &lt;https://github.com/pypa/virtualenv/issues/2267&gt;`_)
<h2>v20.12.0 (2021-12-31)</h2>
<p>Features - 20.12.0
</code></pre></p>
<ul>
<li>Sign the python2 exe on Darwin arm64 - by :user:<code>tmspicer</code>. (<code>[#2233](pypa/virtualenv#2233) &lt;https://github.com/pypa/virtualenv/issues/2233&gt;</code>_)</li>
</ul>
<p>Bugfixes - 20.12.0</p>
<pre><code>- Fix ``--download`` option - by :user:`mayeut`. (`[#2120](pypa/virtualenv#2120) &lt;https://github.com/pypa/virtualenv/issues/2120&gt;`_)
- Ugrade embedded setuptools to ``60.2.0`` from ``60.1.1`` - by :user:`gaborbernat`. (`[#2263](pypa/virtualenv#2263) &lt;https://github.com/pypa/virtualenv/issues/2263&gt;`_)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pypa/virtualenv/commit/568136cd8872e78a266411ca83b0cfc190acc090"><code>568136c</code></a> release 20.13.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/e813ac1fd3c0a21a7c2a2448650bbe6ac53b8753"><code>e813ac1</code></a> PyPy: glob for required dlls, check they exist (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2274">#2274</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/856933e30fb573f966150d6e2d568a81761b165b"><code>856933e</code></a> fix: Correctly remove bk dir when re-signing macOS Python 2.x executable (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2272">#2272</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/50c5591fe9f01dfbc46ceb5638a10b837514410c"><code>50c5591</code></a> fix: AttributeError on macOS creating a Python 2.x virtualenv (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2270">#2270</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/319a540001f68b60fd7367e31d5d7398dbd3a1ef"><code>319a540</code></a> feature: cache downloaded wheel information (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2276">#2276</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/5f65057501e9e6b86e02fe7d9a26649f65ce9254"><code>5f65057</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2275">#2275</a> from pypa/release-20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/879926629d8c26856e225ee65b02fc75a72aa186"><code>8799266</code></a> release 20.12.1</li>
<li><a href="https://github.com/pypa/virtualenv/commit/4308ddb276962c6ffdf0285c809a81f6bef8dbb0"><code>4308ddb</code></a> feature: store version update source in embed JSON file (<a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2273">#2273</a>)</li>
<li><a href="https://github.com/pypa/virtualenv/commit/51408e689b3eb28d87cb4d9638b09e6e4d81f618"><code>51408e6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pypa/virtualenv/issues/2264">#2264</a> from pypa/release-20.12.0</li>
<li><a href="https://github.com/pypa/virtualenv/commit/232a0b644471bd26ed3147404df1bc018fc5a097"><code>232a0b6</code></a> release 20.12.0</li>
<li>Additional commits viewable in <a href="https://github.com/pypa/virtualenv/compare/20.11.2...20.13.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=virtualenv&package-manager=pip&previous-version=20.11.2&new-version=20.13.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@sraka1
Copy link

sraka1 commented Aug 29, 2022

@gaborbernat this is still popping up in Monterey using virtual 20.15.1 when creating a py2 virtualenv using py2 (the zsh: killed msg due to codesigning). Any thoughts on how to proceed?

@gaborbernat
Copy link
Contributor

No plans or suggestions on my side. Python 2 is no longer supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants