GoogleCloudPlatform / GoogleCloudPlatform/functions-framework-python

functions-framework breaks import paths for the google-cloud-functions SDK package

Đang mở
#184 3 bình luận 1 reaction 0 người được giao Xem trên GitHub
bug good first issue P3
Ngôn ngữ chính
Python
Star
968
Fork
128
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

functions-framework is incompatible with the [google-cloud-functions](https://pypi.org/project/google-cloud-functions/) SDK package, unless google-cloud-functions is installed with a separate install command AFTER functions-framework is installed.

As I understand it, this is not possible to do within the context of Google Cloud Functions, where packages get installed automatically from the requirements.txt file.

The reason is that **functions-framework overwrites several important files in google/cloud/functions_v1, google/cloud/functions, and google/cloud/functions_v1beta2 that are required to make the google-cloud-functions SDK package work as intended.**

For example: functions-framework overwrites `google/cloud/functions_v1/__init__.py` upon install, which breaks the ability to import packages in the normal, documented ways.

Steps to reproduce:

1. create a new python 3.9 environment:

2. Run: `pip install google-cloud-functions==1.6.0 functions-framework==3.0.0`

3. Then execute:
```python
from google.cloud import functions_v1
functions_v1.CloudFunctionsServiceClient()
```

This will raise:
`AttributeError: module 'google.cloud.functions_v1' has no attribute 'CloudFunctionsServiceClient'`

Edit:
This means that none of the sample code in the docs will work, since they all rely on the imported members from `google/cloud/functions_v1/__init__.py`. Example below:
https://cloud.google.com/python/docs/reference/cloudfunctions/latest/google.cloud.functions_v1.services.cloud_functions_service.CloudFunctionsServiceClient#google_cloud_functions_v1_services_cloud_functions_service_CloudFunctionsServiceClient_create_function

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.