googleapis / googleapis/google-api-python-client

ERROR: 'OpenSSL.crypto' has no attribute 'sign'

Đang mở
#2,554 8 bình luận 22 reaction 1 người được giao Được giao cho @chalmerlowe Xem trên GitHub
priority: p3 type: bug
Ngôn ngữ chính
Python
Star
8.9k
Fork
2.6k
Merge trung bình
2 ngày 28 phút
Pull request đã merge (30 ngày)
17

Mô tả

#### Environment details

- OS type and version: ubuntu:20.04 and macOs 14.7.1
- Python version: 3.11
- pip version: I dont use pip y use Poetry 1.5.1
- `google-api-python-client` version: 2.159.0

#### Steps to reproduce

1. Install google-api-python-client with pip, pdm, poetry, hatch... it doesn't matter
2. Use the method oauth to authenticate
`from oauth2client.service_account import ServiceAccountCredentials`
3. use .execute() method of any googleapi method
4. this retrieves the error 'OpenSSL.crypto' has no attribute 'sign'

#### Why does this happen?

Because you are importing oauth2client on the line https://github.com/googleapis/google-api-python-client/blob/main/googleapiclient/_auth.py#L33 and it is deprecated, oauth2client uses [openssl](https://github.com/pyca/pyopenssl) with the method [sign](https://github.com/googleapis/oauth2client/blob/master/oauth2client/_openssl_crypt.py#L97) and openssl removed the method sign on the version [24.3.0](https://github.com/pyca/pyopenssl/blob/main/CHANGELOG.rst#backward-incompatible-changes-1).

So if you install openssl >= 24.3.0, and if you use the oauth2client.service_account from googleapiclient this will retrieves you the error

` ERROR: module 'OpenSSL.crypto' has no attribute 'sign' `

#### How to solves this?

Set a constraint of openssl >= 24.3.0 on googleapiclient or dont import oauth2client on googleapi anymore.

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.