{"action":"created","issue":{"url":"https://api.github.com/repos/google/oauth2client/issues/441","repository_url":"https://api.github.com/repos/google/oauth2client","labels_url":"https://api.github.com/repos/google/oauth2client/issues/441/labels{/name}","comments_url":"https://api.github.com/repos/google/oauth2client/issues/441/comments","events_url":"https://api.github.com/repos/google/oauth2client/issues/441/events","html_url":"https://github.com/google/oauth2client/issues/441","id":136465724,"number":441,"title":"httplib2 dependency needs to be updated to latest version","user":{"login":"tswast","id":247555,"avatar_url":"https://avatars.githubusercontent.com/u/247555?v=3","gravatar_id":"","url":"https://api.github.com/users/tswast","html_url":"https://github.com/tswast","followers_url":"https://api.github.com/users/tswast/followers","following_url":"https://api.github.com/users/tswast/following{/other_user}","gists_url":"https://api.github.com/users/tswast/gists{/gist_id}","starred_url":"https://api.github.com/users/tswast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tswast/subscriptions","organizations_url":"https://api.github.com/users/tswast/orgs","repos_url":"https://api.github.com/users/tswast/repos","events_url":"https://api.github.com/users/tswast/events{/privacy}","received_events_url":"https://api.github.com/users/tswast/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-25T18:09:25Z","updated_at":"2016-02-25T18:17:37Z","closed_at":null,"body":"I ran into https://github.com/google/google-api-python-client/issues/135 today when testing https://github.com/GoogleCloudPlatform/cloud-vision/pull/28. Pip installed an old version of httplib2 when I installed the google-api-client-python (and recursively oauth2client). Upgrading my local httplib2 version fixed the issue.\r\n\r\n```\r\n$ python3 label.py ../../data/label/cat.jpg\r\nTraceback (most recent call last):\r\n  File \"label.py\", line 78, in <module>\r\n    main(args.image_file)\r\n  File \"label.py\", line 67, in main\r\n    response = service_request.execute()\r\n  File \"/usr/local/lib/python3.4/dist-packages/oauth2client/util.py\", line 137, in positional_wrapper\r\n    return wrapped(*args, **kwargs)\r\n  File \"/usr/local/lib/python3.4/dist-packages/googleapiclient/http.py\", line 755, in execute\r\n    method=str(self.method), body=self.body, headers=self.headers)\r\n  File \"/usr/local/lib/python3.4/dist-packages/googleapiclient/http.py\", line 93, in _retry_request\r\n    resp, content = http.request(uri, method, *args, **kwargs)\r\n  File \"/usr/local/lib/python3.4/dist-packages/oauth2client/client.py\", line 622, in new_request\r\n    redirections, connection_type)\r\n  File \"/usr/lib/python3/dist-packages/httplib2/__init__.py\", line 1120, in request\r\n    headers = self._normalize_headers(headers)\r\n  File \"/usr/lib/python3/dist-packages/httplib2/__init__.py\", line 1088, in _normalize_headers\r\n    return _normalize_headers(headers)\r\n  File \"/usr/lib/python3/dist-packages/httplib2/__init__.py\", line 194, in _normalize_headers\r\n    return dict([ (key.lower(), NORMALIZE_SPACE.sub(value, ' ').strip())  for (key, value) in headers.items()])\r\n  File \"/usr/lib/python3/dist-packages/httplib2/__init__.py\", line 194, in <listcomp>\r\n    return dict([ (key.lower(), NORMALIZE_SPACE.sub(value, ' ').strip())  for (key, value) in headers.items()])\r\nTypeError: sequence item 0: expected str instance, bytes found\r\n\r\n$ pip3 install --upgrade google-api-python-client\r\nRequirement already up-to-date: google-api-python-client in /usr/local/lib/python3.4/dist-packages\r\nCleaning up...\r\n\r\n$ sudo pip3 install --upgrade httplib2\r\n[sudo] password for swast: \r\nDownloading/unpacking httplib2 from https://pypi.python.org/packages/source/h/httplib2/httplib2-0.9.2.tar.gz#md5=bd1b1445b3b2dfa7276b09b1a07b7f0e\r\n  Downloading httplib2-0.9.2.tar.gz (205kB): 205kB downloaded\r\n  Running setup.py (path:/tmp/pip_build_root/httplib2/setup.py) egg_info for package httplib2\r\n\r\nInstalling collected packages: httplib2\r\n  Found existing installation: httplib2 0.8\r\n    Not uninstalling httplib2 at /usr/lib/python3/dist-packages, owned by OS\r\n  Running setup.py install for httplib2\r\n\r\nSuccessfully installed httplib2\r\nCleaning up...\r\n\r\n$ python3 label.py ../../data/label/cat.jpg      \r\nFound label: cat for ../../data/label/cat.jpg\r\n```"},"comment":{"url":"https://api.github.com/repos/google/oauth2client/issues/comments/188916026","html_url":"https://github.com/google/oauth2client/issues/441#issuecomment-188916026","issue_url":"https://api.github.com/repos/google/oauth2client/issues/441","id":188916026,"user":{"login":"dhermes","id":520669,"avatar_url":"https://avatars.githubusercontent.com/u/520669?v=3","gravatar_id":"","url":"https://api.github.com/users/dhermes","html_url":"https://github.com/dhermes","followers_url":"https://api.github.com/users/dhermes/followers","following_url":"https://api.github.com/users/dhermes/following{/other_user}","gists_url":"https://api.github.com/users/dhermes/gists{/gist_id}","starred_url":"https://api.github.com/users/dhermes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dhermes/subscriptions","organizations_url":"https://api.github.com/users/dhermes/orgs","repos_url":"https://api.github.com/users/dhermes/repos","events_url":"https://api.github.com/users/dhermes/events{/privacy}","received_events_url":"https://api.github.com/users/dhermes/received_events","type":"User","site_admin":false},"created_at":"2016-02-25T18:17:37Z","updated_at":"2016-02-25T18:17:37Z","body":"The version is required to be `>=0.9.1` [in `setup.py`][1] (that was the version that finally made Python 3 work). That's literally all we can do.\r\n\r\n[1]: https://github.com/google/oauth2client/blob/4b0a5edd47142a02e5bf585d8009195a29036449/setup.py#L35"}}