विंडोज 7 पर पायथन पथ को जोड़ना


138

मैं विंडोज 7 पर कमांड लाइन में पायथन पथ को जोड़ने की कोशिश कर रहा हूं, फिर भी मैं जिस तरीके की कोशिश करता हूं, वह काम नहीं करता है। मैंने setकमांड का उपयोग किया है , मैंने इसे एडिट एनवायर्नमेंटल वेरिएबल्स प्रॉम्प्ट आदि के माध्यम से जोड़ने की कोशिश की है।

इससे भी अधिक अगर मैं कमांड लाइन पर सेट कमांड चलाता हूं तो यह इसे सूचीबद्ध करता है

python = c:\python27

फिर भी यह अभी भी पायथन कमांड को नहीं पहचानता है।

प्रलेखन पढ़ना, और विभिन्न अन्य स्रोतों से मदद नहीं मिली।

संपादित करें: अभी और स्पष्ट करने के लिए, मैंने संपादन वातावरण में PATH के लिए निष्पादन योग्य पायथन का मार्ग प्रशस्त किया है। काम करने के लिए प्रतीत नहीं होता है।


क्या उस निर्देशिका के भीतर निष्पादन योग्य झूठ है? उस के भीतर कुछ बिन निर्देशिका नहीं है?
अनिरुद्ध रामनाथन

@ अनिरुद्ध ४४४ नहीं, इसकी उस निर्देशिका में ...

आप दोनों GUIऔर Command Lineविकल्प यहां से stackoverflow.com/a/38141751/5409601
Rafayet Ullah

पायथन 3.6 विंडोज इंस्टालर (और संभावित रूप से पहले के संस्करणों) के साथ, जो आपको मान्य नहीं है, आप अपनी स्थापना को "कस्टमाइज़" कर सकते हैं और आपके पथ में पायथन को जोड़ने के लिए एक चेकबॉक्स है।
paulhauner

जवाबों:


266
  1. पकड़ो Winऔर दबाओ Pause
  2. उन्नत सिस्टम सेटिंग्स पर क्लिक करें।
  3. पर्यावरण चर पर क्लिक करें।
  4. चर के ;C:\python27लिए आवेदन करें Path
  5. रीस्टार्ट कमांड प्रॉम्प्ट।

2
हाँ, मैं पहले ही कर चुका हूँ। क्षमा करें, अगर मैंने उस मूल प्रश्न में स्पष्ट नहीं किया है
rogerklutz

11
सुनिश्चित करें कि आपके अजगर और पथ चर में कोई स्थान नहीं है।
योसी

4
@rogerklutz: बस यह सुनिश्चित करें कि आप जोड़ रहे हैं "; C: \ python27" पथ के वैरिएबल में जो पहले से मौजूद है, और मान के रूप में "C: \ python27" के साथ एक नया वैरिएबल नहीं बना रहा है।
wassimans

5
कई मामलों में, आपको पथ चर सेट करने के बाद भी लॉग आउट और बैक करना होगा।
dk123

इसी तरह की समस्या से पीड़ित, सब कुछ किया था, लेकिन चरण 5 ... इसके लिए धन्यवाद।
रीमासुरो

112

विंडोज में पर्यावरण चर सेट करते समय, मैं कई, कई अवसरों पर गलत हो गया हूं। मुझे लगा कि मुझे अपनी पिछली गलतियों में से कुछ को यहाँ साझा करना चाहिए जिससे मुझे उम्मीद हो कि यह किसी की मदद कर सकती है। (ये सभी पर्यावरणीय चर पर लागू होते हैं, न कि केवल पायथन पथ की स्थापना के समय)

इन संभावित गलतियों के लिए देखें:

  1. अपनी शेल विंडो को मारें और फिर से खोलें: एक बार जब आप पर्यावरण वेरिएबल्स में बदलाव करते हैं, तो आपको उस विंडो को फिर से चालू करना होगा, जिस पर आप उसका परीक्षण कर रहे हैं।
  2. चर स्थापित करते समय कोई रिक्त स्थान नहीं । सुनिश्चित करें कि आप ;C:\Python27किसी भी रिक्त स्थान के बिना जोड़ रहे हैं । ( C:\SomeOther; C:\Python27अर्धविराम ठीक नहीं होने के बाद उस स्थान (␣) को आज़माना आम है ।)
  3. अपने पूर्ण पथ को स्पेलिंग करते समय एक बैकवर्ड स्लाइड का उपयोग करें । जब आप कोशिश करेंगे तो आपको आगे के स्लैश दिखाई देंगे echo $PATHलेकिन केवल पिछड़े स्लैश ने मेरे लिए काम किया है।
  4. अंतिम बैकस्लैश को न जोड़ें । केवल C:\Python27नहींC:\Python27\

आशा है कि यह किसी की मदद करता है।


1
इसका कारण जो मैंने इस उत्तर को चुना, वह यह है कि इन 4 चीजों में से एक के कारण अधिकांश समय पीएटीएच टूट जाता है। आसान हिस्सा यह सही ढंग से कर रहा है, जब आप गलत तरीके से करते हैं तो यह कठिन भाग ध्यान दे रहा है!
ग्रेटटेक

1
echo $pathयदि आप खिड़कियों के नीचे बैश शेल चला रहे हैं, तो कमांड केवल मान्य है (उदाहरण के लिए MinGW)। विंडोज़ कमांड प्रॉम्प्ट कमांड हैecho %path%
ब्रूस पीटरसन

2
मैं पीछे आने वाले समस्याग्रस्त होने का पता नहीं लगा है। क्या मैं कुछ भूल रहा हूँ?
रहस्योदय

51

व्यवस्थापकीय विशेषाधिकारों के साथ cmd .exe खोलें (ऐप पर राइट क्लिक करें)। फिर टाइप करें:

setx पथ "% पथ%; C: \ Python27;"

एक अर्द्ध-बृहदान्त्र के साथ समाप्त करने के लिए याद रखें और एक अनुगामी स्लेश शामिल न करें।


3
+ 1- इससे आपको बिना एडमिन विशेषाधिकारों के रास्ता जोड़ना पड़ेगा। हालांकि, मुझे यकीन नहीं है कि% पथ% की आवश्यकता है। मेरे विंडोज 7 सिस्टम पर, नए cmd विंडो में अब पिछले रास्तों की दो प्रतियां हैं।
पॉल लिंच

32

मैं एक लंबे समय के लिए इस के साथ एक समस्या थी। मैंने इसे अपने रास्ते में हर तरह से जोड़ा, जो मैं सोच सकता था, लेकिन यहाँ मेरे लिए आखिर क्या काम किया:

  1. "मेरा कंप्यूटर" पर राइट क्लिक करें
  2. "गुण" पर क्लिक करें
  3. साइड पैनल में "एडवांस्ड सिस्टम सेटिंग्स" पर क्लिक करें
  4. "पर्यावरण चर" पर क्लिक करें
  5. सिस्टम चर के नीचे "नया" पर क्लिक करें
  6. नाम में प्रवेशpythonexe (या आप चाहते हैं कुछ भी)
  7. मूल्य में अपने अजगर का पथ दर्ज करें (उदाहरण: C:\Python32\)
  8. अब पथ चर (सिस्टम भाग में) को संपादित करें और %pythonexe%;जो पहले से ही वहां है उसके अंत में जोड़ें

IDK क्यों यह काम करता है लेकिन यह मेरे लिए किया था।

फिर अपने कमांड लाइन में "अजगर" टाइप करने की कोशिश करें और यह काम करना चाहिए!


संपादित करें:

हाल ही में मैं इस कार्यक्रम का उपयोग कर रहा हूं जो बहुत अच्छी तरह से काम करता है। यह भी एक है जो बहुत अच्छा लग रहा है, हालांकि मैंने कभी इसकी कोशिश नहीं की है।



14

आप कमांड का उपयोग करके वर्तमान cmd विंडो से पथ सेट कर सकते हैंPATH = । यह केवल इसे वर्तमान cmd उदाहरण के लिए जोड़ देगा। यदि आप इसे स्थायी रूप से जोड़ना चाहते हैं, तो आपको इसे सिस्टम चर में जोड़ना चाहिए। (कंप्यूटर (उन्नत सिस्टम सेटिंग्स> पर्यावरण चर)

आप अपने cmd उदाहरण मिल जाएगा, और में डाल दिया PATH=C:/Python27/;%PATH%


इस समाधान ने मेरे लिए Win7 प्रो पर काम किया। के साथ परीक्षण किया गया echo %PATH~%
इगोर

11

सुनिश्चित करें कि आप नई निर्देशिका से पहले कोई स्थान नहीं जोड़ते हैं।

अच्छा: पुराना; पुराना; पुराना; नया

बुरा: पुराना; पुराना; नया


9

पायथन एक छोटी उपयोगिता के साथ आता है जो बस यही करता है । कमांड लाइन रन से:

c:\python27\tools\scripts\win_add2path.py

सुनिश्चित करें कि आप कमांड विंडो ( exitबंद या बंद बटन) को बंद करें और इसे फिर से खोलें।


1
मेरे लिए, यह रजिस्टर में बदलाव करता है, लेकिन कोई भी ऐप तब तक प्रभावित नहीं होगा जब तक आप मैन्युअल रूप से std GUI डायलॉग के माध्यम से बदलावों की पुष्टि नहीं करते। किसी ऐप को रीस्टार्ट करने से मदद नहीं मिलती है। ऐसा लगता है कि एक तरह के प्रसारण की भी जरूरत है।
पावेल वेलसोव

यह 8.1 पर मेरे लिए काम करता है और अन्य दृष्टिकोणों की तुलना में आसान लगता है। एक विंडो / बॉक्स खुलता है और पूछता है कि आप क्या चलाना चाहते हैं। अन्य का चयन करें और फिर c: \ python27 पर वापस जाएँ और अजगर निष्पादन योग्य (.exe) चुनें। प्रभाव स्थायी प्रतीत होता है इसलिए आपको केवल एक बार ही ऐसा करने की आवश्यकता है। आपको हर उपयोगकर्ता के लिए win_add2path.py चलाना होगा लेकिन पहली बार के बाद आपको बॉक्स नहीं मिलेगा।
user2099484

8

निम्नलिखित प्रोग्राम आपके पर्यावरण के लिए अजगर निष्पादन योग्य मार्ग और उपखंड लिपियों (जो कि जहां पाइप और easy_install स्थापित हैं) को जोड़ देगा। यह .py एक्सटेंशन को बाइंड करने वाली रजिस्ट्री कुंजी से अजगर के लिए रास्ता ढूंढता है। यह आपके वातावरण में पुराने अजगर पथ को हटा देगा। XP (और शायद विस्टा) के साथ भी काम करता है। यह केवल उन मॉड्यूल का उपयोग करता है जो बुनियादी विंडोज़ इंस्टॉलर के साथ आते हैं।

# coding: utf-8

import sys
import os
import time
import _winreg
import ctypes

def find_python():
    """
    retrieves the commandline for .py extensions from the registry
    """
    hKey = _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,
                           r'Python.File\shell\open\command')
    # get the default value
    value, typ = _winreg.QueryValueEx (hKey, None)
    program = value.split('"')[1]
    if not program.lower().endswith(r'\python.exe'):
        return None
    return os.path.dirname(program)

def extend_path(pypath, remove=False, verbose=0, remove_old=True,
                script=False):
    """
    extend(pypath) adds pypath to the PATH env. variable as defined in the
    registry, and then notifies applications (e.g. the desktop) of this change.
    !!! Already opened DOS-Command prompts are not updated. !!!
    Newly opened prompts will have the new path (inherited from the 
    updated windows explorer desktop)
    options:
    remove (default unset), remove from PATH instead of extend PATH
    remove_old (default set), removes any (old) python paths first
    script (default unset), try to add/remove the Scripts subdirectory 
        of pypath (pip, easy_install) as well
    """
    _sd = 'Scripts' # scripts subdir
    hKey = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE,
               r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
               0, _winreg.KEY_READ | _winreg.KEY_SET_VALUE)

    value, typ = _winreg.QueryValueEx (hKey, "PATH")
    vals = value.split(';')
    assert isinstance(vals, list)
    if not remove and remove_old:
        new_vals = []
        for v in vals:
            pyexe = os.path.join(v, 'python.exe')
            if v != pypath and os.path.exists(pyexe):
                if verbose > 0:
                    print 'removing from PATH:', v
                continue
            if script and v != os.path.join(pypath, _sd) and \
               os.path.exists(v.replace(_sd, pyexe)):
                if verbose > 0:
                    print 'removing from PATH:', v
                continue
            new_vals.append(v)
        vals = new_vals
    if remove:
        try:
            vals.remove(pypath)
        except ValueError:
            if verbose > 0:
                print 'path element', pypath, 'not found'
            return
        if script:
            try:
                vals.remove(os.path.join(pypath, _sd))
            except ValueError:
                pass
            print 'removing from PATH:', pypath
    else:
        if pypath in vals:
            if verbose > 0:
                print 'path element', pypath, 'already in PATH'
            return
        vals.append(pypath)
        if verbose > 1:
            print 'adding to PATH:', pypath
        if script:
            if not pypath + '\\Scripts' in vals:
                vals.append(pypath + '\\Scripts')
            if verbose > 1:
                print 'adding to PATH:', pypath + '\\Scripts'
    _winreg.SetValueEx(hKey, "PATH", 0, typ, ';'.join(vals) )
    _winreg.SetValueEx(hKey, "OLDPATH", 0, typ, value )
    _winreg.FlushKey(hKey)
    # notify other programs
    SendMessage = ctypes.windll.user32.SendMessageW
    HWND_BROADCAST = 0xFFFF
    WM_SETTINGCHANGE = 0x1A
    SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, u'Environment')
    if verbose > 1:
        print 'Do not forget to restart any command prompts'

if __name__ == '__main__':
    remove = '--remove' in sys.argv
    script = '--noscripts' not in sys.argv
    extend_path(find_python(), verbose=2, remove=remove, script=script)

इसने मेरे पेट को बर्बाद कर दिया। यहाँ एक निश्चित संस्करण है (मैंने रिमूव_होल्ड को भी हटा दिया है, जो कि सही होना असंभव है): gist.github.com/anonymous/fb5d176ab91dccbd0ebd * Yes
Aur Saraf

6

मुझे पता है कि यह पोस्ट पुरानी है, लेकिन मैं यह जोड़ना चाहूंगा कि समाधान निजी हैं। यदि आपके पास वे नहीं हैं जो आप कर सकते हैं:

कंट्रोल पैनल पर जाएं, पथ टाइप करें (यह अब विंडोज 7 है ताकि सर्च बॉक्स में) और "अपने खाते के लिए पर्यावरण चर को संपादित करें" पर क्लिक करें। अब आपको शीर्ष पर "उपयोगकर्ता चर" और नीचे "सिस्टम चर" के साथ पर्यावरण चर डायलॉग दिखाई देगा।

आप एक उपयोगकर्ता के रूप में, शीर्ष "नया" बटन पर क्लिक कर सकते हैं और जोड़ सकते हैं:

परिवर्तनीय नाम: पथ
परिवर्तनशील मूल्य: C: \ Python27

(कहीं भी स्पेस नहीं) और ओके पर क्लिक करें। एक बार जब आपका कमांड प्रॉम्प्ट फिर से शुरू हो जाता है, तो उपयोगकर्ता चर में कोई भी पथ सिस्टम पथ के अंत में जोड़ा जाता है। यह पथ को किसी अन्य तरीके से प्रतिस्थापित नहीं करता है।

यदि आप एक विशिष्ट पूर्ण पथ सेट करना चाहते हैं, तो आप इस तरह की छोटी फ़ाइल बनाने से बेहतर हैं:

@echo off
PATH C:\User\Me\Programs\mingw\bin;C:\User\Me\Programs;C:\Windows\system32
title Compiler Environment - %Username%@%Computername%
cmd

इसे "compiler.bat" या जो भी कहें और इसे शुरू करने के लिए डबल क्लिक करें। या इससे लिंक करें। या इसे पिन करें आदि ...


6

आपको अपने सिस्टम वैरिएबल में परिवर्तन करने की आवश्यकता है
- "मेरा कंप्यूटर" पर राइट क्लिक
करें - "गुण" पर क्लिक करें -
साइड पैनल में "उन्नत सिस्टम सेटिंग्स"
पर क्लिक करें - पर्यावरण चर पर क्लिक करें - आप उपयोगकर्ता के दो खंड होंगे वैरिएबल और सिस्टम वैरिएबल
- सिस्टम वैरिएबल सेक्शन के तहत वैरिएबल वेरिएबल 'पाथ' के लिए एडिट पर क्लिक करें और ऐड
"C:\Python27;"(ऐड्स के बिना) इसे सेव
करें - अब ओपन कमांड लाइन टाइप 'पाथ' हिट एंटर आप देखेंगे कि पाथ वेरिएबल को संशोधित कर दिया गया है
- अब टाइप करें python --versionआपको अजगर संस्करण दिखाई देगा

और हो गया


5

पायथन 3.3+ के साथ इसे प्राप्त करने की कोशिश करने वाले किसी भी व्यक्ति के लिए, विंडोज इंस्टॉलर में सिस्टम खोज पथ पर python.exe जोड़ने का विकल्प शामिल है। डॉक्स में अधिक पढ़ें ।


1
यह वही है जो मैंने उपयोग किया था, क्योंकि मुझे इंस्टॉल का सटीक मार्ग खोजने में परेशानी हो रही थी। इंस्टॉलर को शुरू करें, 'संशोधित करें' को हिट करें और फिर वैकल्पिक विशेषताओं पर, अगला क्लिक करें, फिर सिस्टम पथ में पायथन को जोड़ने के लिए बॉक्स को चेक करें और फिनिश को हिट करें।
ऋषि

4

विंडोज पर्यावरण चर के साथ काम करना हमेशा एक भयानक अनुभव होता है। हाल ही में, मुझे रैपिड एन्वायर्नमेंट एडिटर नामक एक अद्भुत उपकरण मिला, जो उन्हें प्रबंधित करने के लिए एक सरल जीयूआई देता है।

यदि आप चॉकलेट का उपयोग करते हैं, तो आप इसका उपयोग करके स्थापित कर सकते हैं choco install rapidee । अन्यथा, http://www.rapidee.com/en/download पर एक नज़र डालें

इसे फिर से पढ़ना, यह एक भुगतान की तरह लगता है, लेकिन मैं कसम खाता हूँ मैं नहीं हूँ! यह कुछ समय के लिए मेरे टूलकिट में सबसे उपयोगी उपयोगिताओं में से एक रहा है और मुझे आश्चर्य है कि कोई भी इसके बारे में नहीं जानता है।


3

यदि पायथन को मेरे मामले में आर्कजीआईएस 10.1 जैसे किसी अन्य प्रोग्राम के साथ स्थापित किया गया है, तो आपको अपने पर्यावरण चर में python.exe पर जाने वाले किसी भी अतिरिक्त फ़ोल्डर को भी शामिल करना होगा।

तो मेरा पर्यावरण चर इस तरह दिखता है:

सिस्टम चर> पथ> जोड़ें ;C:\Python27\ArcGIS10.1


2

यह प्रश्न बहुत पुराना है, लेकिन मैं बस एक ही समस्या में भाग गया और मेरा विशेष समाधान यहां सूचीबद्ध नहीं किया गया था:

सुनिश्चित करें कि आपके पास अपने PATH में एक फ़ोल्डर नहीं है जो मौजूद नहीं है।

मेरे मामले में, मेरे पास डिफ़ॉल्ट फ़ोल्डरों का एक गुच्छा था (विंडोज, पॉवर्सशेल, एसक्यूएल सर्वर, आदि) और फिर एक रिवाज C:\binजो मैं आमतौर पर उपयोग करता हूं, और फिर विभिन्न अन्य tweaks जैसे c:\python17, आदि। यह पता चलता है कि cmd प्रोसेसर खोज रहा था।c:\bin didn 't मौजूद नहीं है और फिर शेष चर को संसाधित करना बंद कर दिया है।

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


2

मैंने बस विंडोज 7 पर पायथन 3.3 स्थापित किया "विकल्प को पाथ में जोड़ें"।

पथ चर में, इंस्टॉलर ने स्वचालित रूप से एक अंतिम बैकस्लैश जोड़ा : C:\Python33\ और इसलिए यह कमांड प्रॉम्प्ट पर काम नहीं करता था (मैंने कई बार प्रॉम्प्ट को बंद / खोलने की कोशिश की)

मैंने अंतिम बैकलैश को हटा दिया और फिर इसने काम किया:C:\Python33

आपकी टिप # 4 के लिए धन्यवाद राम नरसिम्हन!


2

मैं अपने अजगर पर्यावरण चर इस तरह Win7 64-बिट के तहत cmd का उपयोग कर आयोजित किया।

मैंने PYTHONPATHखिड़कियों के पर्यावरण चर मेन्यू के माध्यम से चर सेट किया और चर में जोड़ा %PYTHONPATH%गया PATH:

...;%PYTHONPATH%

Cmd शेल चर को सही ढंग से इस तक फैलाता है:

C:\>echo %PYTHONPATH%
C:\python27;c:\python27\lib;C:\python27\scripts

पाथ बदलने के बाद सीएमडी शेल को पुनरारंभ करना न भूलें।


0

अपने कमांड प्रॉम्प्ट पर लिखें:

set Path=%path%

अपने पायथन फ़ोल्डर उदाहरण के पथ द्वारा% पथ% बदलें:

set Path=C:/Python27

-2

यदि आप अजगर के लिए पथ निर्धारित करके निराश हो गए हैं तो बस अजगर के नए संस्करण को डाउनलोड करें अजगर के पुराने संस्करण की स्थापना रद्द करें और नया संस्करण स्थापित करते समय यह पूछेगा कि क्या पथ चिह्न सेट करना है और स्थापित करें

इसका सबसे अच्छा तरीका है

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