Package writes to "apiclient" directory when installed
Environment details
- OS type and version: Linux
- Python version: 3.12.5
- pip version: 24.2
google-api-python-clientversion: 2.145.0
Steps to reproduce
python -m virtualenv venv. venv/bin/activatepip install api-clientpython -c 'from apiclient import HeaderAuthentication'pip install firebase-adminpython -c 'from apiclient import HeaderAuthentication'
I expect step 6 to be the same as step 4 here, but it results in a stack trace since firebase-admin depends on google-api-python-client which is overwriting .../site-packages/apiclient/. What's even worse is that some package managers (e.g., poetry) seem to install this in a random order resulting in it sometimes working and sometimes not.
Code example
from apiclient import HeaderAuthentication
Stack trace
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'HeaderAuthentication' from 'apiclient' (/private/tmp/test1/venv/lib/python3.11/site-packages/apiclient/__init__.py)
Thanks for reporting this @kruton. We'll take a look into this.
I rebased the pull request #2486 onto the newest release.
Hi, @ohmayr any chance this could be merged? I cut out the translated documentation changes to make it easier to review. The documentation should be generated automatically from googleapiclient/discovery.py next time pydoc is run.