web-dev-qa-db-ja.com

Windows 7にPythonパスを追加する

私はWindows 7のコマンドラインにPythonのパスを追加しようとしていますが、私が試した方法に関係なく、何もうまくいかないようです。私はsetコマンドを使いました、私は環境変数の編集プロンプトなどでそれを追加してみました。

さらに私がコマンドラインでsetコマンドを実行すると、このリストが表示されます。

python = c:\python27

それでもまだPythonコマンドを認識しません。

ドキュメントや他のさまざまな情報源を読んでも役に立たないようです。

編集:さらに明確にするために、編集環境のプロンプトでPATHにPython実行可能ファイルのパスを追加しました。うまくいかないようです。

135
rogerklutz
  1. ホールド Win を押して Pause
  2. システムの詳細設定をクリックします。
  3. 環境変数をクリックします。
  4. ;C:\python27Path変数に追加します。
  5. コマンドプロンプトを再起動します。
263
melhosseiny

Windowsで環境変数を設定するとき、私は何度も何度も失敗しました。私はそれが誰かに役立つかもしれないことを願って私がここに私の過去の間違いのいくつかを共有するべきであると思いました。 (これらはPythonパスを設定するときだけでなく、すべての環境変数に適用されます)

これらの考えられる間違いに気をつけてください:

  1. シェルウィンドウを終了して再度開きます。環境変数を変更したら、テストしているウィンドウを再起動する必要があります。
  2. 変数を設定するとき、スペースなし;C:\Python27をスペースなしで追加していることを確認してください。 (C:\SomeOther; C:\Python27を試すのが一般的です。セミコロンの後のスペース(␣)はで構いません。)
  3. フルパスを記述するときは、ABACKWARD SLASHを使用してください。 echo $PATHを試すと、スラッシュが表示されますが、私の場合はバックスラッシュのみが有効です。
  4. 最後のバックスラッシュを追加しないでくださいC:\Python27のみC:\Python27\

これが誰かに役立つことを願っています。

110
Ram Narasimhan

管理者権限でcmd。exeを開きます(アプリを右クリック)。次に入力します。

setxpath "%path%; C:\ Python27;"

セミコロンで終わり、末尾のスラッシュを含めないでください。

51
kenichi

私は長い間これに問題がありました。私は私が考えることができるあらゆる方法で私のパスにそれを追加しました、しかしここにやっと私のために働いたものがあります:

  1. 「マイコンピュータ」を右クリック
  2. 「プロパティ」をクリック
  3. サイドパネルの[システムの詳細設定]をクリックします
  4. 「環境変数」をクリック
  5. システム変数の下にある[新規]をクリックします
  6. 名前にpythonexe(またはあなたが望むもの)を入力してください
  7. 値にあなたのPythonへのパスを入力してください(例:C:\Python32\
  8. (システム部分の)Path変数を編集して、既に存在している部分の最後に%pythonexe%;を追加します

IDKがなぜこれが機能するのか、それは私にとってはうまくいきました。

それからあなたのコマンドラインに "python"とタイプしてみてください。


編集する

最近私は このプログラム を使っていますが、これはかなりうまくいくようです。私は試したことはありませんが、これも この もあります。

32
JustGage

このpython.batファイルをSystem32フォルダーに追加してみてください。そうするとpythonと入力したときにコマンドラインでpythonが実行されます。

python.bat

@C:\Python27\python.exe %*

ソース:

https://github.com/KartikTalwar/dotfiles/blob/master/bat/python.bat

16
Kartik

PATH =コマンドを使用して、現在のcmdウィンドウからパスを設定できます。これは現在のcmdインスタンスにのみ追加されます。恒久的に追加したい場合は、システム変数に追加する必要があります。 (コンピュータ>システムの詳細設定>環境変数)

Cmdインスタンスに移動して、PATH=C:/Python27/;%PATH%に配置します。

14

新しいディレクトリの前にスペースを入れないでください。

良い:古い、古い、古い、古い、新しい

悪い:古い、古い、古い、古い、新しい

11
Mike Pateras

Pythonには、これを実行する 小さなユーティリティが付属します 。コマンドラインから次のコマンドを実行します。

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

必ずexitまたは閉じるボタンでコマンドウィンドウを閉じて、もう一度開きます。

9
Udi

次のプログラムはあなたの環境にpython実行可能パスとsubdirスクリプト(例えばpipとeasy_installがインストールされている場所)を追加します。 .py拡張子をバインドするレジストリキーからpython実行可能ファイルへのパスを見つけます。それはあなたの環境の古いpythonパスを削除します。 XP(そしておそらくVista)でも動作します。基本的なWindowsインストーラに付属のモジュールのみを使用します。

# 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 __== '__main__':
    remove = '--remove' in sys.argv
    script = '--noscripts' not in sys.argv
    extend_path(find_python(), verbose=2, remove=remove, script=script)
8
Anthon

私はこの記事が古くなっているのを知っています、しかし私はその解決策が管理者特権を仮定することを付け加えたいです。持っていない場合は、次のことができます。

コントロールパネルに行き、pathと入力し(これはWindows 7なのでSearchボックスにある)、そして "Edit your environment variables to your account"をクリックする。環境変数ダイアログが表示され、上部に「ユーザー変数」と下に「システム変数」が表示されます。

ユーザーとして、一番上の[新規]ボタンをクリックして追加することができます。

変数名:パス
変数値:C:\ Python27

(どこにもスペースはありません)そしてOKをクリックします。コマンドプロンプトを再起動すると、ユーザー変数内のPATHがシステムパスの末尾にで追加されます。他の方法でPATHを置き換えることはありません。

特定のフルパスを設定したい場合は、次のようなバッチファイルを作成することをお勧めします。

@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
carveone

システム変数を変更する必要があります
- [マイコンピュータ]を右クリックします。
- [プロパティ]をクリックします
- サイドパネルの[システムの詳細設定]をクリックします
- 環境変数をクリック - ユーザー変数とシステム変数の2つのセクションになります
- システム変数セクションの下にある変数「Path」を検索し、編集をクリックして追加します
"C:\Python27;"(引用符なし)保存する
- コマンドラインタイプ「パス」を開くと、パス変数が変更されたことがわかります。
- これでpython --versionと入力すると、Pythonバージョンが表示されます。

そしてそれは行われます

6
Avinash Agrawal

Python 3.3以降でこれを達成しようとしている人のために、Windowsインストーラにはpython.exeをシステム検索パスに追加するオプションが含まれています。詳しくは ドキュメント をご覧ください。

5

Windows環境変数を操作することは、常に恐ろしい経験です。最近、私はRapid Environment Editorと呼ばれる驚くべきツールを見つけました。それはそれらを管理するための非常にシンプルなGUIを提供します。

Chocolateyを使っているのなら、choco install rapideeを使ってインストールできます。それ以外の場合は、 http://www.rapidee.com/en/downloadをご覧ください。

これを再読すると、それは有料のシルスのように聞こえますが、私は違います!それはしばらくの間私のツールキットの中で最も有用なユーティリティの1つに過ぎませんでした、そして私は誰もそれについて知らないように思われることに驚きます。

4
Rob H

Pythonが私の場合のArcGIS 10.1などの他のプログラムと一緒にインストールされている場合は、環境変数にpython.exeへのパスである追加フォルダも含める必要があります。

だから私の環境変数はこのようになります:

システム変数>パス> add ;C:\Python27\ArcGIS10.1

3
geominded

私はcmdを使用してWin7 64ビットの下でこのように私のpython環境変数を編成しました。

Windowsの環境変数menueを介して変数PYTHONPATHを設定し、PATH変数に%PYTHONPATH%を追加しました。

...;%PYTHONPATH%

Cmdシェルは変数をこれに正しく展開します。

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

PATHを変更した後にcmd Shellを再起動することを忘れないでください。

2
Michel Lawaty

私はオプション "pythonをPATHに追加する"を使ってWindows 7にPython 3.3をインストールしました。

PATH変数で、インストーラーが自動的に最後のバックスラッシュを追加しました:C:\Python33\そしてそれでコマンドプロンプトでうまく機能しませんでした(私は閉じてみました) /プロンプトを数回開く)

最後のバックスラッシュを削除してからうまくいきました:C:\Python33

あなたの先端#4をありがとうRam Narasimhan!

2
Arnaud

この質問はかなり古いですが、私はちょうど同じような問題に出くわし、私の特定の解決策はここにリストされていませんでした:

PATHに存在しないフォルダがないことを確認してください。

私の場合、私はたくさんのデフォルトフォルダ(Windows、Powershell、Sql Serverなど)を持っていて、それから私がよく使うカスタムのC:\bin、そしてc:\python17のような他の様々な調整をしました。そのc:\binは存在せず、その後変数の残りの部分の処理を停止しました。

また、 PATHマネージャなしでこれに気付いたことがあるということもわかりません 。それはその項目が無効であるという事実をうまく強調しました。

2
Chris Phillips

私のシステムはWindows7 32bitで、Python 2.7.12がインストールされています(pdfminerはPython 3.X .... T ^ Tをサポートしていないため)。

私のコマンドウィンドウがWord“ python”を認識するという同じ問題を抱えていました。

PATH変数に、最後のバックスラッシュを自動的に追加することがわかりました:C:\ Python33 \(上記のCharlieと同じ)

円記号を削除してください。すべてうまくいきます。

1
Yikun

それをあなたのコマンドプロンプトに書いてください。

set Path=%path%

%path%をあなたのPythonフォルダのパスに置き換えてください。

set Path=C:/Python27
0
Skiller Dz