2015-03-22 11 views
18

Có vẻ như có sự cố không khớp trong phiên bản tại đây. Làm thế nào tôi nên đi về sửa chữa nó?Lỗi thuộc tính cố gắng chạy Gmail API khởi động nhanh trong Python

Tôi đã thử cập nhật sáu bằng pip, nhưng điều đó không làm gì cả.

Đây là lỗi tôi thấy:

Traceback (most recent call last): 
    File "./quickstart.py", line 27, in <module> 
    credentials = run(flow, STORAGE, http=http) 
    File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper 
    return wrapped(*args, **kwargs) 
    File "/Library/Python/2.7/site-packages/oauth2client/old_run.py", line 120, in run 
    authorize_url = flow.step1_get_authorize_url() 
    File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper 
    return wrapped(*args, **kwargs) 
    File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 1827, in step1_get_authorize_url 
    return _update_query_params(self.auth_uri, query_params) 
    File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 435, in _update_query_params 
    parts = urllib.parse.urlparse(uri) 
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse' 
+0

thử 'pips cài đặt -U w3lib six' – itzMEonTV

+0

' pips cài đặt -U w3lib six' đã không làm việc – rstackhouse

+1

này được thảo luận trong khuôn khổ của một [vấn đề trên github] được biết đến (https://github.com/ google/google-api-python-khách hàng/sự cố/100). Xung quanh công việc bao gồm hạ cấp xuống phiên bản 1.3.2 như được đề cập bởi [Theolodus] (http://stackoverflow.com/users/3249000/theolodus) hoặc đặt biến PYTHONPATH 'xuất PYTHONPATH =/Library/Python/2.7/site-packages' như đã đề cập bởi [jwadsack] (http://stackoverflow.com/users/201911/jwadsack) – Matt

Trả lời

26

Tôi chạy vào một vấn đề rất giống nhau, mặc dù sử dụng một API hoàn toàn khác nhau (động cơ tính toán). Tôi đã kết thúc việc quay lại ứng dụng khách api của Google cho phiên bản trước - 1.3.2 - trái ngược với phiên bản mới nhất - 1.4.0. Để thực hiện việc này, tôi chạy:

sudo pip install -I google-api-python-client==1.3.2 

Và sau đó có thể chạy mã của tôi.

Tôi không chắc liệu đây có phải là vấn đề tương tự hay không, nhưng có vẻ như đã thực hiện thủ thuật cho tôi, hy vọng điều này sẽ hữu ích.

+0

Bất kỳ ý tưởng nào tại sao điều này là cần thiết? – rstackhouse

+0

Ngoài ra, làm cách nào bạn biết được phiên bản trước đó là gì. Tôi chỉ có thể tìm thấy cái hiện tại. 'yolk -V google-api-python-client $ google-api-python-client 1.4.0' – rstackhouse

+0

Nevermind. https://pypi.python.org/pypi/google-api-python-client/json – rstackhouse

15

Đã tìm ra nguồn gốc của sự cố - phiên bản OSX được cài đặt sẵn sáu (1.4.1) là phiên bản được tải vì vị trí của nó xuất hiện đầu tiên trên đường dẫn python của bạn.

Phiên bản do gmail (1.6.1) yêu cầu do đó được bảo vệ và do đó không bao giờ được nhập.

Sửa lỗi nhanh chỉ để thêm thư mục cài đặt 1.6.1 vào đường dẫn python của bạn, vì vậy nó được tải trước phiên bản 1.4.1. Không phải là giải pháp tốt nhất, nhưng nó hoạt động.

import sys 
sys.path.insert(1, '/Library/Python/2.7/site-packages') 
+7

Hoặc tốt hơn, chỉ cần sửa '~/.bash_profile' của bạn để xuất vĩnh viễn:' xuất PYTHONPATH =/Library/Python/2.7/site-packages' – jwadsack

+0

giải quyết vấn đề này cho tôi. cảm ơn bạn! –

+0

Bao gồm giải pháp dựa trên PYTHONPATH trong phần khởi động nhanh trong phần khắc phục sự cố: https://developers.google.com/gmail/api/quickstart/python#troubleshooting –

Các vấn đề liên quan