Skip to content

urllib3>=2.0 does not work with system Python on macOS #3020

@andy-maier

Description

@andy-maier

Subject

The system Python on macOS 12.6.5 is Python 3.9.6 whose ssl module is compiled with LibreSSL 2.8.3.

The removal of LibreSSL support in urllib3 2.0 makes it impossible to be used with the system Python on macOS.

What are you recommending to macOS users that do not want to or are not allowed to use a Homebrew version of Python?

In our Python packages that use requests / urllib3, we will now either have to pin urllib3 to <2.0, or have to have a trouble shooting documentation for how to deal with that.

At the least, I think urllib3 should add some trouble shooting info on how to find out what the Python ssl module is compiled with, and the options to deal with the issue.

Note that issue #2168 misses one important case: The user created a virtualenv based on the system Python. Using a virtualenv makes it possible and reasonable to install packages from Pypi. That is how a macOS user gets into the problem of using a Python that was compiled with LibreSSL and uses urllib3>=2.0.

That is the case that issue describes as "The combination of the above three is very unlikely.", but that is exactly how it happens and I don't think it is unlikely. There is no rule (that I know of) that prevents or discourages from using the system Python for a virtualenv, and then to install packages from Pypi.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions