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

Use shlex.quote instead of deprecated pipes.quote #2351

Merged
merged 1 commit into from
Jun 7, 2022

Conversation

frenzymadness
Copy link
Contributor

@frenzymadness frenzymadness commented Jun 6, 2022

pipes module is deprecated in Py 3.11 and will be removed in 3.13.
https://docs.python.org/3.11/whatsnew/3.11.html

This is an implementation detail so I believe that it does not need a changelog entry.

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

@hroncok
Copy link
Contributor

hroncok commented Jun 6, 2022

I am afraid the code was Python 2 compatible and is no more. The function was moved in 3.3+.

@frenzymadness
Copy link
Contributor Author

So, I can either use if PY2 to import from the correct module or handle ImportError and then import from the deprecated module. @gaborbernat what do you prefer?

@frenzymadness
Copy link
Contributor Author

I've decided to use if PY2 because conditions are generally faster than exception handling even if it means adding a new import to some of the modules. And it seems that make_zipapp.py module cannot import from virtualenv so I have to use a copy of sys.version_info[0] == 2 there.

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.

Let's add a changelog here 👍

@frenzymadness
Copy link
Contributor Author

Let's add a changelog here +1

Done, I think :)

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.

pipes module is deprecated in Py 3.11 and will be removed in 3.13.
https://docs.python.org/3.11/whatsnew/3.11.html
@gaborbernat gaborbernat merged commit a70b019 into pypa:main Jun 7, 2022
@frenzymadness frenzymadness deleted the pipes branch June 7, 2022 11:15
gaborbernat added a commit that referenced this pull request Jun 25, 2022
* Bump pip and setuptools (#2348)

Signed-off-by: Bernát Gábor <[email protected]>

* Use shlex.quote instead of deprecated pipes.quote (#2351)

* Embeds the "python<VERSION>.zip" for Windows.

For example, for Python 3.10 the embeddable file name would be
"python310.zip". If this file would be found in `sys.path`, the
virtualenv should copy it into the "<venv>\Scripts\python310.zip".

* For Windows CPython3: *.dll/*.pyd -> to_bin

* Fixture for a Python interpreter info.

Helps to test virtualenv creator classes.

* Creators tests: path_mock as separate module.

* Clarifies tests, separates testing tools.

* Tests for CPython3Windows sources.

* Tests for the embedded Python std lib for Windows.

* Add news entry.

* Replaces `yield from` for backward compability.

* FIX: Path mocking in pypy tests.

* Wrap `sys` `Path` with `str` for importlib.

The importlib accepts a Path-like objects from Python 3.6

* Makes PathMock ABC compatible with Python 2

* Does not collect tests for Python3 under Python 2

It is possible to make pass CPython3 tests under Python 2,
but it's better to disable it instead of decreasing the
readability and performance of Python 3 style.

* Allows empty `Path()` in Windows with Python 2

* Allows to load fixture files with PY2 Windows Path

* Skips one PY3 POSIX test in PY2 Windows

Co-authored-by: Bernát Gábor <[email protected]>
Co-authored-by: Lumír 'Frenzy' Balhar <[email protected]>
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.

3 participants