2015-03-06 10 views
7

मैं विंडोज 8 पर पायथन 2.7 64 बिट का उपयोग कर रहा हूं। मेरे पास अनुरोध संस्करण 2.3 स्थापित है। मैं अपने कोड के भीतर पुनः मनचाही संख्या में के हिस्से के रूप में इस आयात बयान को चलाने के लिए कोशिश कर रहा हूँ:request.packages.urllib3.util 'retry' आयात नहीं कर सकता

from requests.packages.urllib3.util import Retry 

मैं urllib3 भी स्थापित (मैं सिर्फ पिप के माध्यम से यह अब स्थापित किया है) है। मुझे त्रुटि संदेश मिल रहा है:

Traceback (most recent call last): 
    File "C:\Python27\counter.py", line 3, in <module> 
    from requests.packages.urllib3.util import Retry 
ImportError: cannot import name Retry 

क्या कोई मुझे बता सकता है कि यह क्यों है? क्या कोई अन्य निर्भरता है जो मुझे कोड की इस पंक्ति को सफलतापूर्वक चलाने के बारे में अनजान है?

धन्यवाद

+0

संभव डुप्लिकेट [ImportError: नाम एक्स आयात नहीं कर सकता] (http://stackoverflow.com/questions/ 9252543/आयातक-नहीं-आयात-नाम-एक्स) – alfasin

+1

@alfasin मैं उस पृष्ठ पर कुछ भी नहीं देख सकता जो मेरी सहायता करेगा? – gdogg371

+0

अपने आयात की जांच करें - यह सुझाव देता है कि आपके पास परिपत्र निर्भरता – alfasin

उत्तर

6

आप अनुरोध के एक नए संस्करण की आवश्यकता हो सकती। मैं सिर्फ v2.5.1 के साथ इसे करने की कोशिश:

from requests.packages.urllib3.util import Retry 

काम करने के लिए लगता है। एफवाईआई: नवीनतम संस्करण v2.5.3 है, अपग्रेड करने लायक है।

इसके अलावा, आप अलग से स्थापित urllib3 की एक यथोचित हाल के संस्करण है, यह भी काम करना चाहिए:

from urllib3.util import Retry 

दुर्भाग्य से हम PoolManager और ConnectionPool में Retry के विशिष्ट isinstance प्रकार की जांच, तो Retry वस्तुओं के दो प्रकार पूरी तरह से अदलाबदल नहीं हो सकता है। (किसी को भी इसे ठीक करना चाहता है, मैं एक पीआर पर +1 होगी।)

अभी के लिए, यदि आप urllib3 की requests संस्करण के साथ Retry वस्तु के प्रयोग पर इरादा कर रहे हैं, तो आप इसे आयात करना होगा वहां से सीधे।

+0

है जिसके लिए मैं इसका उत्तर पोस्ट करना भूल गया। मैंने urllib3 से सीधे पुनः प्रयास करने का प्रयास किया जब मैंने इसे दो दिन पहले स्थापित किया और यह ठीक काम किया। हालांकि प्रतिक्रिया के लिए धन्यवाद। – gdogg371

+1

@ gdogg371 आह जानना अच्छा है, धन्यवाद। यह कुछ/कई मामलों में ठीक होना चाहिए, लेकिन किनारे के मामले हो सकते हैं जहां वे पूरी तरह से विनिमय नहीं कर सकते हैं। अगर आप अजीब व्यवहार में भाग लेते हैं तो इसे ध्यान में रखें। :) – shazow

+0

न्यूनतम संस्करण क्या है? urllib3 1.7.1/अनुरोध 2.2.1 त्रुटि दिखाता है। – Nemo

1

अनुरोध नहीं रह गया है request.package में मॉड्यूल vendored है

आप urllib3 संदर्भित करने के लिए की आवश्यकता होगी सीधे

की
संबंधित मुद्दे