ImportError: विंडोज पर साइट नाम का कोई मॉड्यूल नहीं है


101

मैं पहली बार पायथन स्थापित करने की कोशिश कर रहा हूं। मैंने पायथन वेबसाइट से निम्न इंस्टॉलर डाउनलोड किया: पायथन 2.7.1 विंडोज इंस्टॉलर (विंडोज बाइनरी - स्रोत शामिल नहीं है) । मैंने तब इंस्टॉलर चलाया, 'ऑल यूज़र्स' को चुना और सब ठीक था। मैंने पायथन को डिफ़ॉल्ट स्थान पर स्थापित किया:

C:\Python27

अगला, यह साबित करने के लिए कि पायथन सही ढंग से स्थापित किया गया था, मैंने अपने पायथन डायरेक्टरी में नेविगेट किया, और विंडोज़ cmd प्रॉम्प्ट में "पायथन" कमांड चलाया। यह मुझे निम्न त्रुटि देता है:

ImportError: साइट नाम का कोई मॉड्यूल नहीं

जब मैं 'अजगर -v' करता हूं तो मुझे निम्नलिखित मिलते हैं:

#installing zipimport hook
import zipimport # builtin
#installed zipimport हुक
#ImportError: No module named site #clear builtin ._
#clear sys.path #clear sys.argv
#clear sys.ps1 #clear sys.ps2
#clear sys.exitfunc #clear sys.exc_type
#clear sys.exc_value #clear sys.exc_traceback
#clear sys.last_type #clear sys.last_value
#clear sys.last_traceback #clear sys.path_hooks
#clear sys.path_importer_cache #clear sys.meta_path
#clear sys.flags #clear sys.float_info
#restore sys.stdin # sys.stdout बहाल
#restore sys.stderr #cleanup मुख्य
#cleanup [1 ] zipimport #cleanup [1] संकेत
#cleanup[1 ] exceptions #cleanup [1] _warnings
#cleanup sys #cleanup builtin
#cleanup ints: 6 unfreed ints #cleanup तैरता

जब मैं मर जाता हूं तो C:\Python27\Lib\site.py*मुझे निम्नलिखित मिलते हैं:

C: \ Users \ Mimminito> dir C: \ Python27 \ Lib \ site.py *
ड्राइव C में वॉल्यूम का कोई लेबल नहीं है।
वॉल्यूम सीरियल नंबर DAB9-A863 है

C: \ Python27 \ Lib की निर्देशिका

13/11/2010 20:08 20,389 site.py
1 File (s) 20,389 बाइट्स
0 Dir (s) 694,910,976 बाइट्स मुफ्त

कोई विचार?


मान लें कि आपने डिफ़ॉल्ट इंस्टॉल स्थान नहीं बदला है, तो क्या आपके कंप्यूटर में C: /Python27/Lib/site.py फ़ाइल मौजूद है?
टिम डब्ल्यू।

हां, साइट
थ्रेड

7
@ मिमिनिटो: मैं उत्सुक हूं (सौम्य) कि आप 9 महीने के लिए गायब क्यों हो गए और अभी-अभी मेरा जवाब स्वीकार किया है, और (बहुत) अगर आपको कभी पता चला कि अंतर्निहित समस्या क्या थी।
जॉन माकिन

मुझे वर्तमान में यह समस्या हो रही है। मुझे पता नहीं क्यों और मैंने एक समाधान के लिए इंटरनेट का परिमार्जन किया है। यह कहता है कि ImportError: कोई भी मॉड्यूल साइट का नाम नहीं रखता है, चाहे मैं अजगर को स्थापित करूं और मैं अपने पैट्स में क्या डालूं। मैं जानना चाहूंगा कि अजगर वास्तव में साइट-थ्रू लोड कैसे करता है। जाहिर है कि यह एक सापेक्ष / निरपेक्ष मार्ग मुद्दा है। और अगर मैं बस अंधेरे में यादृच्छिक ठूंठों का सहारा लिए बिना सीधे अजगर के मार्ग को कॉन्फ़िगर कर सकता था।
CMCDragonkai

3
मुझे यह समस्या थी। मैं साइगविन से आह्वान कर रहा था जिसके लिए यूनिक्स जैसा रास्ता था PYTHONPATH। मैंने इसे विंडोज स्टाइल पथ में बदल दिया export PYTHONPATH=$(cygpath -w $PYTHONPATH)और यह ठीक काम करता है। अन्य लोगों की मदद करने के लिए इस नोट को जोड़ने से इस समस्या के साथ इस पृष्ठ पर आ सकते हैं।
रोबर्ट

जवाबों:


145

मैं लगभग एक दिन से इस समस्या को देख रहा हूं और आखिरकार एक सफलता मिली। इसे इस्तेमाल करे:

  1. PYTHONPATH / PYTHONHOME चर सेट करना

    राइट क्लिक करें कंप्यूटर आइकन में प्रारंभ मेनू , पर जाने के गुण । बाएं टैब पर, उन्नत सिस्टम सेटिंग्स पर जाएं । आने वाली विंडो में, उन्नत टैब पर जाएं , फिर नीचे पर्यावरण चर पर क्लिक करें । उपयोगकर्ता चर की सूची में क्लिक करें और पायथन टाइप करना शुरू करें, और सिस्टम चर के लिए दोहराएं , बस यह सुनिश्चित करने के लिए कि आपके पास PYTHONPATH या PYTHONHOME के ​​लिए गलत-सेट चर नहीं हैं। अगला, नए चर जोड़ें (मैंने उपयोगकर्ता के बजाय सिस्टम में किया था, हालांकि यह उपयोगकर्ता के लिए भी काम कर सकता है): PYTHONPATH, C: \ Python27 \ Lib में सेट किया गया । PYTHONHOME, C: \ Python27 पर सेट करें ।

उम्मीद है की यह मदद करेगा!


7
और आपको काम करने के लिए% PYTHONHOME% को अपने पथ चर के साथ जोड़ना होगा।
ऋषि

7
अहा! यह सवाल का जवाब होना चाहिए। मेरे लिए, यह PYTHONHOME वैरिएबल एक अमान्य पथ पर सेट किया गया था ... इसे हटा दिया गया था, और अब यह काम करता है! ऐसा लगता है कि स्टीम का एलियन स्वार्म मॉड जोड़ा गया है।
तिमोटी

2
फ़ोल्डर में रखे मॉड्यूल PYTHONPATH/PYTHONHOMEका पता लगाने के लिए अजगर में से कोई भी चर निर्धारित करना आवश्यक नहीं होना चाहिए । यह उत्तर सबसे अच्छा है। site.pyLib
पायोत्र डोब्रोगोस्ट

3
पर्यावरण चर एक दुःस्वप्न हैं। मैं लिनक्स को दोष देता हूं।
डेमियन

1
सुनिश्चित करें कि आपके पास दो पायथन संस्करण समवर्ती रूप से स्थापित नहीं हैं। यह दुभाषिया को गड़बड़ कर सकता है, अगर पायथन 2.7% PATH% में पहले है, और Python3 PYTHONHOME के ​​लिए सेट है, उदाहरण के लिए।
LM.Croisez

41

त्वरित समाधान: PYTHONHOME और PYTHONPATH सेट करें और PATH पर PYTHONHOME को शामिल करें

उदाहरण के लिए यदि आप c: \ Python27 पर स्थापित हैं

set PYTHONHOME=c:\Python27
set PYTHONPATH=c:\Python27\Lib
set PATH=%PYTHONHOME%;%PATH%

सुनिश्चित करें कि आपके पास PYTHON * var पर एक अनुगामी '\' नहीं है, ऐसा प्रतीत होता है कि यह टूट गया है।


3
यदि विंडोज़ 10 पर, यह अब है: setx PYTHONHOME "C: \ Python27" setx PYTHONPATH "C: \ Python27 \ Lib" सेटैक्स पथ "% PYTHONHOME%;% PATH%";% PATH% "
Vesanto

यह मेरे लिए विंडोज 7 पर पायथन 3.6 के साथ ठीक काम करता है
प्यास के लिए ज्ञान

12

Windows Python और Cygwin Python दोनों को स्थापित करने के बाद, और Cygwin से Cygwin Python को चलाने का प्रयास करने के बाद मुझे यह समस्या आ रही थी। मैंने इसे exportPYTHONHOME = / usr / और PYTHONPATH = / usr / lib / python2.7 द्वारा हल किया


12

सुनिश्चित करें कि आपका PYTHONHOME पर्यावरण चर सही तरीके से सेट है। यदि PYTHONHOME अमान्य स्थान या किसी अन्य पायथन इंस्टॉलेशन की ओर इशारा कर रहा है जिसे आप चलाने का प्रयास कर रहे हैं तो आपको यह त्रुटि मिलेगी।

इसे इस्तेमाल करे:

C:\>set PYTHONHOME=C:\Python27
C:\>python

उपयोग

setx PYTHONHOME C:\Python27

इसे बाद के कमांड प्रॉम्प्ट के लिए स्थायी रूप से सेट करने के लिए


6
setx PYTHONHOME C:\Python27इसे बाद के कमांड प्रॉम्प्ट के लिए स्थायी रूप से सेट करने के लिए उपयोग करें । अन्यथा, आपको हर बार सेट कमांड का उपयोग करना होगा।
इयान सैमुअल मैकलीन एल्डर


4

क्या आप सिग्विन से विंडोज पायथन चलाने की कोशिश कर रहे हैं? मुझे भी यही तकलीफ़ है। साइगविन में अजगर साइट आयात करने में विफल रहता है। Cmd में अजगर काम करता है।

ऐसा लगता है कि आपको cygwin -awउन्हें Windows पथ बनाने के लिए PYTHONHOME और PYTHONPATH चलाने के लिए सुनिश्चित करने की आवश्यकता है । इसके अलावा, अजगर कुछ गलत रास्तों का उपयोग कर रहा है।

मुझे लगता है कि मुझे इसे काम करने के लिए साइबरविन के माध्यम से अजगर स्थापित करने की आवश्यकता होगी।


1
हाय यह शायद अभी भी आपके लिए एक मुद्दा नहीं है, लेकिन अगर अन्य लोग इस समस्या के साथ आते हैं, तो मुख्य प्रश्न पर मेरी टिप्पणी देखें। मूल रूप से आपको PYTHONPATHविंडोज़-स्टाइल पथ के साथ परिवर्तित करने की आवश्यकता है export PYTHONPATH=$(cygpath -w $PYTHONPATH)
रॉबर्ट

4

विंडोज 10 के लिए (@slckin उत्तर पर फॉलो करें), इसे कमांड लाइन के माध्यम से सेट किया जा सकता है:

setx PYTHONHOME "C:\Python27"
setx PYTHONPATH "C:\Python27\Lib"
setx PATH "%PYTHONHOME%;%PATH%"

6
मैं कभी भी उपयोग नहीं करूंगा setx PATH "%PYTHONHOME%;%PATH%"क्योंकि यह उपयोगकर्ता PATHको उपयोगकर्ता और सिस्टम पथ के योग के साथ सेट करता है। यह ठीक स्थानीय स्तर पर (का उपयोग कर set), लेकिन का उपयोग नहींsetx
जीन फ़्राँस्वा Fabre

4

मेरे मामले में, समस्या एक अन्य साइट-थ्रू फ़ाइल थी, जिसे पैथॉन लीब से पहले की तुलना में हल किया गया था, पैथ सेटिंग के कारण।

पर्यावरण: विंडोज 10 प्रो, पायथन 27।

मेरे डेस्कटॉप में pgAdmin इंस्टॉल है, जिसमें फ़ाइल C: \ Program Files (x86) \ pgAdmin \ venv \ Lib \ site.py है। क्योंकि PATH परिवेश चर में pdAdmin का घर पहले Python (जाहिरा तौर पर पहले स्थान पर एक बुरा विचार) की तुलना में था, pgAdmin की साइट थिंकपैड पहले पाई गई थी।

इस मुद्दे को ठीक करने के लिए मुझे बस इतना करना था कि पैथॉन की तुलना में बाद में पैगंबर के घर को पाथ में स्थानांतरित किया जाए


3

मेरे लिए यह हुआ क्योंकि मेरे पास अजगर के 2 संस्करण स्थापित थे - अजगर 27 और अजगर 3.3। इन दोनों फ़ोल्डर में पथ चर सेट था, और इसलिए यह समस्या थी। इसे ठीक करने के लिए, मैंने python27 को अस्थायी फ़ोल्डर में स्थानांतरित कर दिया, क्योंकि मैं अजगर 3.3 के साथ ठीक था। इसलिए PATH, PYTHONHOME जैसे पर्यावरण चर की जांच करें क्योंकि यह एक मुद्दा हो सकता है। धन्यवाद।


1

अगर किसी को लगेगा कि यह अभी भी गैर-व्यवस्थापक उपयोगकर्ताओं के तहत काम नहीं कर रहा है:

उदाहरण त्रुटि:

ImportError: No module named iso8601

आपको easy_install के लिए '--always-unzip' विकल्प सेट करने की आवश्यकता है:

easy_install --always-unzip python-keystoneclient

यह आपके अंडे की फाइलों को अनज़िप करेगा और आयात को इम खोजने में मदद करेगा।


1

ImportError: No module named siteअजगर 2.7.11 स्थापित करते समय मैं उसी मुद्दे से गुजरा

प्रारंभ में मेरे पास Python2.5 था और PYTHONHOME पथ Python2.5 पर सेट था। मैंने इसका नाम बदल दिया C:\Python27\और इसने समस्या का समाधान कर दिया।


0

आप ओपन सोर्स एक्टिव पायथन सेटअप की कोशिश कर सकते हैं जो कि विंडोज के लिए अच्छा किया गया पायथन इंस्टॉलर है। आपको बस अपना संस्करण अनइंस्टॉल करना होगा और इसे इंस्टॉल करना होगा ...


7
python.org इंस्टॉलर ठीक है
डेविड

मैंने अपने लैपटॉप पर सक्रिय पायथन स्थापित किया, और यह ठीक ठीक स्थापित किया। लेकिन यह मेरे पीसी पर काम नहीं करता है, मुझे अभी भी वही त्रुटि
मिलती है

0

मैंने स्लिकिन के जवाब को वोट दिया। मेरी समस्या यह थी कि मैं विचारशील था और रास्तों के आसपास दोहरे उद्धरण जोड़े हुए था। मैंने तीनों चर: PYTHONHOME, PYTHONPATH और PATH में से सभी में दोहरे उद्धरण चिह्नों को हटा दिया। ध्यान दें कि यह अन्य टूल के लिए वातावरण को सेटअप करने के लिए एक cmd या बैट फ़ाइल में था। हालाँकि, दोहरे उद्धरण चिह्न सेटिंग में उपयोगी हो सकते हैं। टाइपिंग

सेट

पता चला कि रास्ते में उद्धरण और उम्मीद के मुताबिक नहीं गिरा। मैंने पैट को भी छोटा कर दिया, ताकि यह 256 वर्णों से कम लंबा हो।


-1

मेरे पास एक एप्लिकेशन है जो पायथन पर बहुत निर्भर करता है और नए संस्करणों के जारी होने पर अजगर 2.7.x के साथ अद्यतित रहता है। जब तक मुझे वही No module named siteत्रुटि मिली, 2.7.11 तक अर्थिंग ठीक है । मैंने PYTHONHOME सेट किया है c:\Python27और यह काम कर रहा है। लेकिन रहस्य बना हुआ है कि अब इसकी आवश्यकता क्यों है जब यह पिछले रिलीज के साथ नहीं था। और, अगर इसकी आवश्यकता है, तो इंस्टॉलर इस var को सेट क्यों नहीं करता है?


-1

मुझे भी यही समस्या थी। मेरा समाधान पायथन इंस्टॉलेशन की मरम्मत करना था। (यह एक नया इंस्टॉलेशन था इसलिए मुझे किसी समस्या की उम्मीद नहीं थी लेकिन अब यह हल हो गया है।)

मरम्मत करने के लिए (विंडोज 7):

  1. कंट्रोल पैनल पर जाएं -> प्रोग्राम्स -> प्रोग्राम्स और फीचर्स
  2. इंस्टॉल किए गए पायथन संस्करण पर क्लिक करें और फिर अनइंस्टॉल / बदलें दबाएं।
  3. स्थापना की मरम्मत के लिए निर्देशों का पालन करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.