[Python] Google Cloud Function - ImportError: cannot import name 'pubsub' from 'google.cloud'...

Discussão em 'Python' iniciado por Stack, Agosto 9, 2025.

  1. Stack

    Stack Membro Participativo

    I am deploying a Google Cloud Function that will kick off other Google Cloud Functions using google.cloud.pubsub_v1 and I'm getting this error ImportError: cannot import name 'pubsub' from 'google.cloud' (unknown location)

    The beginning of my requirements.txt file looks like this

    # Function dependencies, for example:
    # package>=version
    google-cloud-pubsub
    ....


    The beginning of my main.py script looks like this:

    import base64
    import json
    from google.cloud import pubsub_v1

    publisher = pubsub_v1.PublisherClient()
    topic_path = publisher.topic_path(<PROJECT_ID>, <PUBSUB_TOPIC>)


    I am deploying this code from a Google Cloud Source Repository. I have read through this SO post about my error, but that question appears to be about this error arising in a Client application. My error is being generated by the Google Cloud function itself during the deploy process. I don't have sudo rights to the auto-created VM that Google is using to run my process, do I? I should be able to resolve this issue from the requirements.txt file, but nothing I've tried seems to be working.

    What's more frustrating is that when I put this same code in the "Inline editor" on the web-based Google Function editor, I don't get an error. I only get this error when loading the code from the repository.

    The current file structure in the repository looks something like this:

    .
    ├── package
    | ├── main.py
    | ├── script1.py
    | └── script2.py
    ├── package2
    ├── ...
    └── requirements.txt


    I moved main.py inside of a package because of issues I was having in this SO Question

    Any ideas on how to resolve this import error?

    Continue reading...

Compartilhe esta Página