Skip to content

Package writes to "apiclient" directory when installed #2485

Open
@kruton

Description

@kruton

Environment details

  • OS type and version: Linux
  • Python version: 3.12.5
  • pip version: 24.2
  • google-api-python-client version: 2.145.0

Steps to reproduce

  1. python -m virtualenv venv
  2. . venv/bin/activate
  3. pip install api-client
  4. python -c 'from apiclient import HeaderAuthentication'
  5. pip install firebase-admin
  6. python -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)

Metadata

Metadata

Assignees

Labels

priority: p2Moderately-important priority. Fix may not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions