如何解决没有名为“googleapiclient”的模块......再次python 3.8,ModuleNotFoundError
我正在学习这个不错的教程 A Beginner’s Guide to the Gmail API and Its Documentation,但我遇到了这个经常被描述的问题:No module named 'googleapiclient'
。我一遍又一遍地检查,找不到我可能遗漏的内容,也找不到任何解决方法的建议。
这是简单的 list_labels.py
脚本,它是教程的直接副本:
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
# If modifying these scopes,delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']
def main():
"""Shows basic usage of the Gmail API.
Lists the user's Gmail labels.
"""
creds = None
# The file token.pickle stores the user's access and refresh tokens,and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists('token.pickle'):
with open('token.pickle','rb') as token:
creds = pickle.load(token)
# If there are no (valid) credentials available,let the user log in.
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file(
'credentials.json',SCOPES)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open('token.pickle','wb') as token:
pickle.dump(creds,token)
service = build('gmail','v1',credentials=creds)
# Call the Gmail API
results = service.users().labels().list(userId='me').execute()
labels = results.get('labels',[])
if not labels:
print('No labels found.')
else:
print('Labels:')
for label in labels:
print(label['name'])
if __name__ == '__main__':
main()
我已按照建议执行了 pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
,但是在运行脚本时,出现了可怕的错误:
2020/12/21 10:59:45 (py38) C:\gvhpython\quickstart
> list_labels.py
Traceback (most recent call last):
File "C:\gvhpython\quickstart\list_labels.py",line 4,in <module>
from googleapiclient.discovery import build
ModuleNotFoundError: No module named 'googleapiclient'
2020/12/21 10:59:48 (py38) C:\gvhpython\quickstart
>
这发生在我的 py38 环境中,我确实安装了库,如询问 conda liat
时所示:
2020/12/21 10:59:48 (py38) C:\gvhpython\quickstart
> conda list
# packages in environment at C:\Users\guivho\.conda\envs\py38:
#
# Name Version Build Channel
autopep8 1.5.4 pypi_0 pypi
ca-certificates 2020.12.8 haa95532_0
cachetools 4.2.0 pypi_0 pypi
certifi 2020.12.5 py38haa95532_0
chardet 4.0.0 pypi_0 pypi
google-api-core 1.24.1 pypi_0 pypi
google-api-python-client 1.12.8 pypi_0 pypi
google-auth 1.24.0 pypi_0 pypi
google-auth-httplib2 0.0.4 pypi_0 pypi
google-auth-oauthlib 0.4.2 pypi_0 pypi
googleapis-common-protos 1.52.0 pypi_0 pypi
httplib2 0.18.1 pypi_0 pypi
idna 2.10 pypi_0 pypi
mysql-connector-python 8.0.22 pypi_0 pypi
mysql-connector-python-rf 2.2.2 pypi_0 pypi
oauthlib 3.1.0 pypi_0 pypi
openssl 1.1.1i h2bbff1b_0
pip 20.3.1 py38haa95532_0
protobuf 3.14.0 pypi_0 pypi
pyasn1 0.4.8 pypi_0 pypi
pyasn1-modules 0.2.8 pypi_0 pypi
pycodestyle 2.6.0 pypi_0 pypi
python 3.8.5 h5fd99cc_1
pytz 2020.4 pypi_0 pypi
requests 2.25.1 pypi_0 pypi
requests-oauthlib 1.3.0 pypi_0 pypi
rsa 4.6 pypi_0 pypi
setuptools 51.0.0 py38haa95532_2
six 1.15.0 pypi_0 pypi
sqlite 3.33.0 h2a8f88b_0
toml 0.10.2 pypi_0 pypi
uritemplate 3.0.1 pypi_0 pypi
urllib3 1.26.2 pypi_0 pypi
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.36.2 pyhd3eb1b0_0
wincertstore 0.2 py38_0
zlib 1.2.11 h62dcd97_4
2020/12/21 11:02:03 (py38) C:\gvhpython\quickstart
>
重新安装建议的库时,输出表明要求已经满足:
2020/12/21 11:02:03 (py38) C:\gvhpython\quickstart
> pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
Requirement already satisfied: google-api-python-client in c:\users\guivho\.conda\envs\py38\lib\site-packages (1.12.8)
Requirement already satisfied: google-auth-httplib2 in c:\users\guivho\.conda\envs\py38\lib\site-packages (0.0.4)
Requirement already satisfied: google-auth-oauthlib in c:\users\guivho\.conda\envs\py38\lib\site-packages (0.4.2)
Requirement already satisfied: google-auth-httplib2 in c:\users\guivho\.conda\envs\py38\lib\site-packages (0.0.4)
Requirement already satisfied: google-api-core<2dev,>=1.21.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.1)
Requirement already satisfied: httplib2<1dev,>=0.15.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (0.18.1)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: uritemplate<4dev,>=3.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (3.0.1)
Requirement already satisfied: six<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: six<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: httplib2<1dev,>=0.15.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (0.18.1)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: requests-oauthlib>=0.7.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth-oauthlib) (1.3.0)
Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (1.52.0)
Requirement already satisfied: protobuf>=3.12.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (3.14.0)
Requirement already satisfied: six<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: pytz in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (2020.4)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: setuptools>=34.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (51.0.0.post20201207)
Requirement already satisfied: requests<3.0.0dev,>=2.18.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (2.25.1)
Requirement already satisfied: six<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: rsa<5,>=3.1.4 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth>=1.16.0->google-api-python-client) (4.6)
Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth>=1.16.0->google-api-python-client) (0.2.8)
Requirement already satisfied: cachetools<5.0,>=2.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth>=1.16.0->google-api-python-client) (4.2.0)
Requirement already satisfied: setuptools>=34.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (51.0.0.post20201207)
Requirement already satisfied: protobuf>=3.12.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.16.0->google-api-python-client) (0.4.8)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client) (2020.12.5)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from requests<3.0.0dev,>=1.21.0->google-api-python-client) (1.26.2)
Requirement already satisfied: chardet<5,>=3.0.2 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from requests<3.0.0dev,>=1.21.0->google-api-python-client) (4.0.0)
Requirement already satisfied: idna<3,>=2.5 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from requests<3.0.0dev,>=1.21.0->google-api-python-client) (2.10)
Requirement already satisfied: requests<3.0.0dev,>=1.21.0->google-api-python-client) (2.25.1)
Requirement already satisfied: oauthlib>=3.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib) (3.1.0)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.16.0->google-api-python-client) (0.4.8)
2020/12/21 11:15:36 (py38) C:\gvhpython\quickstart
>
我什至试图卸载这些库:
2020/12/21 11:15:36 (py38) C:\gvhpython\quickstart
> pip uninstall google-api-python-client google-auth-httplib2 google-auth-oauthlib
Found existing installation: google-api-python-client 1.12.8
Uninstalling google-api-python-client-1.12.8:
Would remove:
c:\users\guivho\.conda\envs\py38\lib\site-packages\apiclient\*
c:\users\guivho\.conda\envs\py38\lib\site-packages\google_api_python_client-1.12.8.dist-info\*
c:\users\guivho\.conda\envs\py38\lib\site-packages\googleapiclient\*
Proceed (y/n)? y
Successfully uninstalled google-api-python-client-1.12.8
Found existing installation: google-auth-httplib2 0.0.4
Uninstalling google-auth-httplib2-0.0.4:
Would remove:
c:\users\guivho\.conda\envs\py38\lib\site-packages\google_auth_httplib2-0.0.4.dist-info\*
c:\users\guivho\.conda\envs\py38\lib\site-packages\google_auth_httplib2.py
Proceed (y/n)? y
Successfully uninstalled google-auth-httplib2-0.0.4
Found existing installation: google-auth-oauthlib 0.4.2
Uninstalling google-auth-oauthlib-0.4.2:
Would remove:
c:\users\guivho\.conda\envs\py38\lib\site-packages\google_auth_oauthlib-0.4.2.dist-info\*
c:\users\guivho\.conda\envs\py38\lib\site-packages\google_auth_oauthlib\*
c:\users\guivho\.conda\envs\py38\scripts\google-oauthlib-tool.exe
Proceed (y/n)? y
Successfully uninstalled google-auth-oauthlib-0.4.2
2020/12/21 11:20:05 (py38) C:\gvhpython\quickstart
>
现在 conda list
给出:
2020/12/21 11:20:05 (py38) C:\gvhpython\quickstart
> conda list
# packages in environment at C:\Users\guivho\.conda\envs\py38:
#
# Name Version Build Channel
autopep8 1.5.4 pypi_0 pypi
ca-certificates 2020.12.8 haa95532_0
cachetools 4.2.0 pypi_0 pypi
certifi 2020.12.5 py38haa95532_0
chardet 4.0.0 pypi_0 pypi
google-api-core 1.24.1 pypi_0 pypi
google-auth 1.24.0 pypi_0 pypi
googleapis-common-protos 1.52.0 pypi_0 pypi
httplib2 0.18.1 pypi_0 pypi
idna 2.10 pypi_0 pypi
mysql-connector-python 8.0.22 pypi_0 pypi
mysql-connector-python-rf 2.2.2 pypi_0 pypi
oauthlib 3.1.0 pypi_0 pypi
openssl 1.1.1i h2bbff1b_0
pip 20.3.1 py38haa95532_0
protobuf 3.14.0 pypi_0 pypi
pyasn1 0.4.8 pypi_0 pypi
pyasn1-modules 0.2.8 pypi_0 pypi
pycodestyle 2.6.0 pypi_0 pypi
python 3.8.5 h5fd99cc_1
pytz 2020.4 pypi_0 pypi
requests 2.25.1 pypi_0 pypi
requests-oauthlib 1.3.0 pypi_0 pypi
rsa 4.6 pypi_0 pypi
setuptools 51.0.0 py38haa95532_2
six 1.15.0 pypi_0 pypi
sqlite 3.33.0 h2a8f88b_0
toml 0.10.2 pypi_0 pypi
uritemplate 3.0.1 pypi_0 pypi
urllib3 1.26.2 pypi_0 pypi
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.36.2 pyhd3eb1b0_0
wincertstore 0.2 py38_0
zlib 1.2.11 h62dcd97_4
2020/12/21 11:21:16 (py38) C:\gvhpython\quickstart
>
在这个“全新”的环境中,我重新安装了库:
2020/12/21 11:26:58 (py38) C:\gvhpython\quickstart
> pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
Collecting google-api-python-client
Using cached google_api_python_client-1.12.8-py2.py3-none-any.whl (61 kB)
Requirement already satisfied: httplib2<1dev,>=0.15.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (0.18.1)
Requirement already satisfied: six<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: uritemplate<4dev,>=3.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (3.0.1)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: google-api-core<2dev,>=1.21.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.1)
Collecting google-auth-httplib2
Using cached google_auth_httplib2-0.0.4-py2.py3-none-any.whl (9.1 kB)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: httplib2<1dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Collecting google-auth-oauthlib
Using cached google_auth_oauthlib-0.4.2-py2.py3-none-any.whl (18 kB)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: requests-oauthlib>=0.7.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth-oauthlib) (1.3.0)
Requirement already satisfied: six<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: requests<3.0.0dev,>=1.21.0->google-api-python-client) (2.25.1)
Requirement already satisfied: google-auth>=1.16.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.24.0)
Requirement already satisfied: setuptools>=34.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (51.0.0.post20201207)
Requirement already satisfied: pytz in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (2020.4)
Requirement already satisfied: protobuf>=3.12.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (3.14.0)
Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.21.0->google-api-python-client) (1.52.0)
Requirement already satisfied: rsa<5,>=3.1.4 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth>=1.16.0->google-api-python-client) (4.6)
Requirement already satisfied: setuptools>=34.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client) (51.0.0.post20201207)
Requirement already satisfied: cachetools<5.0,>=2.0.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth>=1.16.0->google-api-python-client) (4.2.0)
Requirement already satisfied: six<2dev,>=1.13.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-python-client) (1.15.0)
Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-auth>=1.16.0->google-api-python-client) (0.2.8)
Requirement already satisfied: protobuf>=3.12.0 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from google-api-core<2dev,>=0.4.6 in c:\users\guivho\.conda\envs\py38\lib\site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.16.0->google-api-python-client) (0.4.8)
Installing collected packages: google-auth-httplib2,google-auth-oauthlib,google-api-python-client
Successfully installed google-api-python-client-1.12.8 google-auth-httplib2-0.0.4 google-auth-oauthlib-0.4.2
2020/12/21 11:27:11 (py38) C:\gvhpython\quickstart
>
所以他们真的在环境中:
2020/12/21 11:27:11 (py38) C:\gvhpython\quickstart
> conda list
# packages in environment at C:\Users\guivho\.conda\envs\py38:
#
# Name Version Build Channel
autopep8 1.5.4 pypi_0 pypi
ca-certificates 2020.12.8 haa95532_0
cachetools 4.2.0 pypi_0 pypi
certifi 2020.12.5 py38haa95532_0
chardet 4.0.0 pypi_0 pypi
google-api-core 1.24.1 pypi_0 pypi
google-api-python-client 1.12.8 pypi_0 pypi
google-auth 1.24.0 pypi_0 pypi
google-auth-httplib2 0.0.4 pypi_0 pypi
google-auth-oauthlib 0.4.2 pypi_0 pypi
googleapis-common-protos 1.52.0 pypi_0 pypi
httplib2 0.18.1 pypi_0 pypi
idna 2.10 pypi_0 pypi
mysql-connector-python 8.0.22 pypi_0 pypi
mysql-connector-python-rf 2.2.2 pypi_0 pypi
oauthlib 3.1.0 pypi_0 pypi
openssl 1.1.1i h2bbff1b_0
pip 20.3.1 py38haa95532_0
protobuf 3.14.0 pypi_0 pypi
pyasn1 0.4.8 pypi_0 pypi
pyasn1-modules 0.2.8 pypi_0 pypi
pycodestyle 2.6.0 pypi_0 pypi
python 3.8.5 h5fd99cc_1
pytz 2020.4 pypi_0 pypi
requests 2.25.1 pypi_0 pypi
requests-oauthlib 1.3.0 pypi_0 pypi
rsa 4.6 pypi_0 pypi
setuptools 51.0.0 py38haa95532_2
six 1.15.0 pypi_0 pypi
sqlite 3.33.0 h2a8f88b_0
toml 0.10.2 pypi_0 pypi
uritemplate 3.0.1 pypi_0 pypi
urllib3 1.26.2 pypi_0 pypi
vc 14.2 h21ff451_1
vs2015_runtime 14.27.29016 h5e58377_2
wheel 0.36.2 pyhd3eb1b0_0
wincertstore 0.2 py38_0
zlib 1.2.11 h62dcd97_4
2020/12/21 11:28:13 (py38) C:\gvhpython\quickstart
>
让我们再次尝试脚本:
2020/12/21 11:28:13 (py38) C:\gvhpython\quickstart
> list_labels.py
Traceback (most recent call last):
File "C:\gvhpython\quickstart\list_labels.py",in <module>
from googleapiclient.discovery import build
ModuleNotFoundError: No module named 'googleapiclient'
2020/12/21 11:30:09 (py38) C:\gvhpython\quickstart
>
请告知可以采取哪些措施来解决此问题。 我想继续学习本教程,但我被这个可怕的问题阻止了。
非常感谢您提供任何帮助和/或建议!
圭多
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。