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

Add Python 3.11 to the testing #5245

Merged
merged 2 commits into from
Nov 8, 2022
Merged

Add Python 3.11 to the testing #5245

merged 2 commits into from
Nov 8, 2022

Conversation

cclauss
Copy link
Contributor

@cclauss cclauss commented Aug 13, 2022

On macOS:

============================= test session starts ==============================
platform darwin -- Python 3.11.0rc1, pytest-7.1.2, pluggy-1.0.0
    [ ... ]
FAILED tests/integration/test_cli.py::test_pipenv_graph - assert 1 == 0
FAILED tests/integration/test_cli.py::test_pipenv_graph_reverse - assert 1 == 0
FAILED tests/unit/test_utils.py::test_convert_deps_to_pip[deps0-requests] - A...
FAILED tests/unit/test_utils.py::test_convert_deps_to_pip[deps1-requests[socks]]
===== 4 failed, 278 passed, 18 skipped, 21 warnings in 1704.26s (0:28:24) ======

Thank you for contributing to Pipenv!

The issue

What is the thing you want to fix? Is it associated with an issue on GitHub? Please mention it.

Always consider opening an issue first to describe your problem, so we can discuss what is the best way to amend it. Note that if you do not describe the goal of this change or link to a related issue, the maintainers may close the PR without further review.

If your pull request makes a non-insignificant change to Pipenv, such as the user interface or intended functionality, please file a PEEP.

https://github.com/pypa/pipenv/blob/master/peeps/PEEP-000.md

The fix

How does this pull request fix your problem? Did you consider any alternatives? Why is this the best solution, in your opinion?

The checklist

  • Associated issue
  • A news fragment in the news/ directory to describe this fix with the extension .bugfix, .feature, .behavior, .doc. .vendor. or .trivial (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.

@cclauss
Copy link
Contributor Author

cclauss commented Sep 8, 2022

#5343 (comment)

@edmorley
Copy link
Contributor

Hi

In #5343 (comment) you mentioned:

This will need to wait until pytest v7.2.0
pytest-dev/pytest#9982

pytest 7.2.0 has now been released:
https://github.com/pytest-dev/pytest/releases/tag/7.2.0

Also, Python 3.11.0 was released last night, and testing locally with pipenv 2022.10.12, I get the following RuntimeWarning:

       .../lib/python3.11/site-packages/pipenv/vendor/attr/_make.py:876: RuntimeWarning: Running interpreter doesn't sufficiently support code object introspection.  Some features like bare super() or accessing __class__ will not work with slotted classes.
         set_closure_cell(cell, cls)

This is coming from the attr package, which was fixed in v22.1.0 (python-attrs/attrs@a18b395) however pipenv is still using v21.2.0:
https://github.com/pypa/pipenv/blob/v2022.10.12/pipenv/vendor/vendor.txt#L2

As such, attr will need bumping too, as well as pytest.

@cclauss
Copy link
Contributor Author

cclauss commented Oct 25, 2022

Thanks, Ed

  • vendor.txt: Upgrade to attrs==22.1.0
  • Where is the version of pytest specified?

@edmorley
Copy link
Contributor

edmorley commented Oct 25, 2022

For attr, I believe the vendored copy also needs updating by running the command mentioned here:
https://github.com/pypa/pipenv/blob/main/pipenv/vendor/README.md

Where is the version of pytest specified?

I'm guessing it's maybe pulled in implicitly via one of the pytest-* deps here?

pipenv/Pipfile

Lines 6 to 21 in cb9d87a

[dev-packages]
pipenv = {path = ".", editable = true, extras = ["tests", "dev"]}
sphinx = "==4.*"
sphinx-click = "==4.*"
sphinxcontrib-spelling = "==7.*"
click = "==8.0.3"
pytest_pypi = {path = "./tests/pytest-pypi", editable = true}
pypiserver = "==1.*"
stdeb = {version="*", markers="sys_platform == 'linux'"}
zipp = {version = "==3.6.0", markers = "python_version < '3.10'"}
pre-commit = "==2.*"
atomicwrites = {version = "*", markers="sys_platform == 'win32'"}
pytest-cov = "==3.*"
typing-extensions = "==4.*"
waitress = {version = "*", markers="sys_platform == 'win32'"}
gunicorn = {version = "*", markers="sys_platform == 'linux'"}

Maybe refreshing this repo's Pipfile.lock will be sufficient to pick up the 7.2.0 update?

@cclauss cclauss changed the title Add Python 3.11 release candidate to the testing Add Python 3.11 to the testing Oct 25, 2022
@edmorley
Copy link
Contributor

edmorley commented Nov 5, 2022

@cclauss Several vendored dependencies (including attr) have now been updated on main. Could you rebase on main to pick up those changes? After that, I would recommend running pipenv lock to refresh this repo's Pipfile.lock, since hopefully the pytest update will resolve the other issues :-)

@edmorley
Copy link
Contributor

edmorley commented Nov 8, 2022

@oz123 HI! I don't suppose you have a spare moment to review/merge this? :-)

@@ -47,11 +47,11 @@
},
Copy link
Contributor

Choose a reason for hiding this comment

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

Why did you need to update the lock file?
Also, should we not pin the version of pytest in Pipfile?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@oz123 oz123 merged commit 8b22e12 into pypa:main Nov 8, 2022
Copy link
Contributor

@oz123 oz123 left a comment

Choose a reason for hiding this comment

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

Thanks for answering.

@cclauss cclauss deleted the patch-3 branch November 8, 2022 19:53
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