When I run the code in my venv, I get ModuleNotFoundError: No module named 'googleapiclient
. However, when I don't activate my venv or run it globally, the code works perfectly fine. Even though, in my venv i have:
google-api-core==1.22.0
google-api-python-client==1.10.0
google-auth==1.19.2
google-auth-httplib2==0.0.4
google-auth-oauthlib==0.4.1
googleapis-common-protos==1.52.0
Can someone shed some light on what package am I missing from my venv?
Code:
from __future__ import print_function
import datetime
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from datetime import datetime, timedelta
import datetime
SCOPES = ['https://www.googleapis.com/auth/calendar']
def main():
creds = None
if os.path.exists('token.pickle'):
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
global service
service = build('calendar', 'v3', credentials=creds)
if __name__ == '__main__':
main()
event = {
'summary': 'Test',
'location': 'At home',
'description': 'A chance to hear more about Google\'s developer products.',
'start': {
'dateTime': '2020-07-08T12:12:10',
'timeZone': 'America/Los_Angeles',
},
'end': {
'dateTime': '2020-08-08T12:32:47',
'timeZone': 'America/Los_Angeles',
}
}
event = service.events().insert(calendarId='primary', body=event).execute()
1.Install with virtualenv
virtualenv temp
source temp/bin/activate
pip install --upgrade google-api-python-client
ignore Six
sudo pip install --upgrade google-api-python-client --ignore-installed six