Hey all,

You may have seen some hub hub around psycopg2 and no longer shipping binary 
wheels by default [1][2] (and in fact using psycopg2-binary if you want 
wheels), and I wanted to bring it up here because it demonstrates a problem 
area with the current state of packaging in Python:

There is no good way for a new package to specify that it provides what another 
package would provide, and setuptools currently checks that all distributions 
are found before running the console scripts (so if a console script has a 
setup.py that depends on psycopg2 and you install psycopg2-binary it fails) [3]

So currently if you pip install psycopg2-binary and then install a project that 
uses psycopg2 as a dependency it will install psycopg2 over top of 
psycopg2-binary.

The author of psycopg2 stopped distributing binaries for psycopg2 because of 
issues with the version of SSL that Python was compiled for/what was used by 
psycopg2 and it causing all kinds of issues.

I don't have a proposal or a fix, but this is going to be an issue not just for 
psycopg2 but also for other projects that potentially distribute wheels that 
are built against a different version of OpenSSL.

I see two things that should get some thought:

1. How to have a package provide for another package (there are keywords but 
AFAIK they are currently ignored by pip)
2. How to handle/deal with shared libraries that are not versioned

Thanks,
Bert

[1]: https://github.com/psycopg/psycopg2/issues/674 
<https://github.com/psycopg/psycopg2/issues/674>
[2]: https://github.com/psycopg/psycopg2/issues/883 
<https://github.com/psycopg/psycopg2/issues/883>
[3]: https://github.com/zalando/patroni/issues/1021#issuecomment-480202590 
<https://github.com/zalando/patroni/issues/1021#issuecomment-480202590>

--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/NCTYRASPRQ2JALB3HLA3KOFW7BGV2LQE/

Reply via email to