From bc6e84e3fbcf071ddc61eb60f12b9fba83ec29e9 Mon Sep 17 00:00:00 2001 From: David Hotham Date: Fri, 21 Apr 2023 16:55:29 +0100 Subject: [PATCH] unstick virtualenv on windows, bump platformdirs (#7484) --- poetry.lock | 67 +++++++------------ pyproject.toml | 12 +--- src/poetry/locations.py | 6 +- .../masonry/builders/test_editable_builder.py | 4 +- 4 files changed, 32 insertions(+), 57 deletions(-) diff --git a/poetry.lock b/poetry.lock index 4cf7f64935c..707714fa684 100644 --- a/poetry.lock +++ b/poetry.lock @@ -603,19 +603,19 @@ testing = ["pre-commit"] [[package]] name = "filelock" -version = "3.9.0" +version = "3.12.0" description = "A platform independent file lock." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "filelock-3.9.0-py3-none-any.whl", hash = "sha256:f58d535af89bb9ad5cd4df046f741f8553a418c01a7856bf0d173bbc9f6bd16d"}, - {file = "filelock-3.9.0.tar.gz", hash = "sha256:7b319f24340b51f55a2bf7a12ac0755a9b03e718311dac567a0f4f7fabd2f5de"}, + {file = "filelock-3.12.0-py3-none-any.whl", hash = "sha256:ad98852315c2ab702aeb628412cbf7e95b7ce8c3bf9565670b4eaecf1db370a9"}, + {file = "filelock-3.12.0.tar.gz", hash = "sha256:fc03ae43288c013d2ea83c8597001b1129db351aad9c57fe2409327916b8e718"}, ] [package.extras] -docs = ["furo (>=2022.12.7)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.5)"] -testing = ["covdefaults (>=2.2.2)", "coverage (>=7.0.1)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-timeout (>=2.1)"] +docs = ["furo (>=2023.3.27)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"] [[package]] name = "html5lib" @@ -679,14 +679,14 @@ files = [ [[package]] name = "importlib-metadata" -version = "6.0.0" +version = "6.5.0" description = "Read metadata from Python packages" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "importlib_metadata-6.0.0-py3-none-any.whl", hash = "sha256:7efb448ec9a5e313a57655d35aa54cd3e01b7e1fbcf72dce1bf06119420f5bad"}, - {file = "importlib_metadata-6.0.0.tar.gz", hash = "sha256:e354bedeb60efa6affdcc8ae121b73544a7aa74156d047311948f6d711cd378d"}, + {file = "importlib_metadata-6.5.0-py3-none-any.whl", hash = "sha256:03ba783c3a2c69d751b109fc0c94a62c51f581b3d6acf8ed1331b6d5729321ff"}, + {file = "importlib_metadata-6.5.0.tar.gz", hash = "sha256:7a8bdf1bc3a726297f5cfbc999e6e7ff6b4fa41b26bba4afc580448624460045"}, ] [package.dependencies] @@ -1111,22 +1111,22 @@ files = [ [[package]] name = "platformdirs" -version = "2.6.2" +version = "3.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-2.6.2-py3-none-any.whl", hash = "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490"}, - {file = "platformdirs-2.6.2.tar.gz", hash = "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2"}, + {file = "platformdirs-3.2.0-py3-none-any.whl", hash = "sha256:ebe11c0d7a805086e99506aa331612429a72ca7cd52a1f0d277dc4adc20cb10e"}, + {file = "platformdirs-3.2.0.tar.gz", hash = "sha256:d5b638ca397f25f979350ff789db335903d7ea010ab28903f57b27e1b16c2b08"}, ] [package.dependencies] -typing-extensions = {version = ">=4.4", markers = "python_version < \"3.8\""} +typing-extensions = {version = ">=4.5", markers = "python_version < \"3.8\""} [package.extras] -docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.5)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] [[package]] name = "pluggy" @@ -1826,46 +1826,25 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "virtualenv" -version = "20.16.5" -description = "Virtual Python Environment builder" -category = "main" -optional = false -python-versions = ">=3.6" -files = [ - {file = "virtualenv-20.16.5-py3-none-any.whl", hash = "sha256:d07dfc5df5e4e0dbc92862350ad87a36ed505b978f6c39609dc489eadd5b0d27"}, - {file = "virtualenv-20.16.5.tar.gz", hash = "sha256:227ea1b9994fdc5ea31977ba3383ef296d7472ea85be9d6732e42a91c04e80da"}, -] - -[package.dependencies] -distlib = ">=0.3.5,<1" -filelock = ">=3.4.1,<4" -platformdirs = ">=2.4,<3" - -[package.extras] -docs = ["proselint (>=0.13)", "sphinx (>=5.1.1)", "sphinx-argparse (>=0.3.1)", "sphinx-rtd-theme (>=1)", "towncrier (>=21.9)"] -testing = ["coverage (>=6.2)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=21.3)", "pytest (>=7.0.1)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.6.1)", "pytest-randomly (>=3.10.3)", "pytest-timeout (>=2.1)"] - -[[package]] -name = "virtualenv" -version = "20.19.0" +version = "20.22.0" description = "Virtual Python Environment builder" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.19.0-py3-none-any.whl", hash = "sha256:54eb59e7352b573aa04d53f80fc9736ed0ad5143af445a1e539aada6eb947dd1"}, - {file = "virtualenv-20.19.0.tar.gz", hash = "sha256:37a640ba82ed40b226599c522d411e4be5edb339a0c0de030c0dc7b646d61590"}, + {file = "virtualenv-20.22.0-py3-none-any.whl", hash = "sha256:48fd3b907b5149c5aab7c23d9790bea4cac6bc6b150af8635febc4cfeab1275a"}, + {file = "virtualenv-20.22.0.tar.gz", hash = "sha256:278753c47aaef1a0f14e6db8a4c5e1e040e90aea654d0fc1dc7e0d8a42616cc3"}, ] [package.dependencies] distlib = ">=0.3.6,<1" -filelock = ">=3.4.1,<4" -importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.8\""} -platformdirs = ">=2.4,<4" +filelock = ">=3.11,<4" +importlib-metadata = {version = ">=6.4.1", markers = "python_version < \"3.8\""} +platformdirs = ">=3.2,<4" [package.extras] -docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"] -test = ["covdefaults (>=2.2.2)", "coverage (>=7.1)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23)", "pytest (>=7.2.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)"] +docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"] +test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)"] [[package]] name = "webencodings" @@ -1983,4 +1962,4 @@ testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools" [metadata] lock-version = "2.0" python-versions = "^3.7" -content-hash = "60024b1508baf21776d5214a4af23c8a1ad180be8e2197df91971881a4be4824" +content-hash = "5eaca2ab38c4307d328cc95afba32f8645dc268faa01aea271ff4cdba46e7b2a" diff --git a/pyproject.toml b/pyproject.toml index ae1a50bee98..81b7dd52327 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,22 +66,16 @@ lockfile = "^0.12.2" packaging = ">=20.4" pexpect = "^4.7.0" pkginfo = "^1.9.4" -platformdirs = "^2.5.2" +platformdirs = "^3.0.0" pyproject-hooks = "^1.0.0" requests = "^2.18" requests-toolbelt = ">=0.9.1,<0.11.0" shellingham = "^1.5" tomli = { version = "^2.0.1", python = "<3.11" } -# exclude 0.11.2 and 0.11.3 due to https://github.com/sdispater/tomlkit/issues/225 -tomlkit = ">=0.11.1,<1.0.0,!=0.11.2,!=0.11.3" +tomlkit = ">=0.11.4,<1.0.0" # trove-classifiers uses calver, so version is unclamped trove-classifiers = ">=2022.5.19" -# exclude 20.4.5 - 20.4.6 due to https://github.com/pypa/pip/issues/9953 -virtualenv = [ - { version = "^20.4.3,!=20.4.5,!=20.4.6" }, - # see https://github.com/python-poetry/poetry/pull/6950 for details - { version = "<20.16.6", markers = "sys_platform == 'win32' and python_version == '3.9'" }, -] +virtualenv = "^20.22.0" xattr = { version = "^0.10.0", markers = "sys_platform == 'darwin'" } urllib3 = "^1.26.0" diff --git a/src/poetry/locations.py b/src/poetry/locations.py index 7d10f7d11d8..b738adcebc7 100644 --- a/src/poetry/locations.py +++ b/src/poetry/locations.py @@ -25,9 +25,11 @@ # /Users//Library/Application Support/ to # /Users//Library/Preferences/. # -# For now we only deprecate use of the old directory. +# Then platformdirs 3.0.0 corrected it back again! +# +# Treat Preferences as deprecated, and hope that this is finally decided. if sys.platform == "darwin": - _LEGACY_CONFIG_DIR = CONFIG_DIR.parent.parent / "Application Support" / _APP_NAME + _LEGACY_CONFIG_DIR = CONFIG_DIR.parent.parent / "Preferences" / _APP_NAME config_toml = _LEGACY_CONFIG_DIR / "config.toml" auth_toml = _LEGACY_CONFIG_DIR / "auth.toml" diff --git a/tests/masonry/builders/test_editable_builder.py b/tests/masonry/builders/test_editable_builder.py index 28b6628a972..80599a2e1d9 100644 --- a/tests/masonry/builders/test_editable_builder.py +++ b/tests/masonry/builders/test_editable_builder.py @@ -236,8 +236,8 @@ def test_builder_setup_generation_runs_with_pip_editable( poetry = Factory().create_poetry(extended_project) - # we need a venv with setuptools since we are verifying setup.py builds - with ephemeral_environment(flags={"no-setuptools": False}) as venv: + # we need a venv with pip and setuptools since we are verifying setup.py builds + with ephemeral_environment(flags={"no-setuptools": False, "no-pip": False}) as venv: builder = EditableBuilder(poetry, venv, NullIO()) builder.build()