コマンドプロンプトでプログラムを実行しようとしたら「そんなプログラム見つかりません」的なことを言われてしまいました。
2年前くらいに同じようなことが起こったときに詳しい人に「あ、それはパスを通せばいいんだよ」と言われたことを思い出して、「よし、パスを通そう」とは思ったものの、全然やり方を覚えてなかった……。
もう忘れないぞ、という気持ちをこめて記事にしておきます。
わたしの場合はこんなエラーが出たよ
Python2.7.3をインストールした後、コマンドプロンプトにて何も考えずに
python
と打ち込んでエンターを押すとこんなエラーがでました。
‘python’は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
なぜエラーが出たのか?
プログラムがあるディレクトリ(フォルダ)に入っていないにも関わらず、プログラムを実行しようとしたからです。
私の場合だと、Cドライブ直下のPython27というディレクトリにpythonというプログラムがあるので、
C:\Python27\python
と打ち込んでエンターを押すとプログラムを実行できます。
(バックスラッシュ(逆向きのスラッシュ)は円マーク(\)で表示されることがあります)
が、ちょっと面倒なので、pythonと打つだけでプログラムが実行できるように「ここにプログラムあるからよろしく」っていうのをシステムに教えてあげましょう。この操作はよく「パスを通す」と表現されます。
パス(path)って何?
プログラムなどのファイルがある場所までの道筋のこと、と思っておけばだいたい合ってると思います。
パスっていうのにディレクトリの場所を追加しておく(パスを通しておく)と、プログラムなどが呼び出されたときに今いるディレクトリだけじゃなくパスの通っているディレクトリも探してプログラムを実行してくれます。
パスを確認するには?
コマンドプロンプトで
path
と打ち込んでエンターを押すと、いま通ってるパスがずらっと表示されます。
パスを新しく追加する(パスを通す)には?
一時的にパスを通すだけなら…
例えば今回のわたしの場合だとC:\Python27という場所にパスを通したいので、コマンドプロンプトで
path C:\Python27
と打ち込んでエンターを押せばOK。これでパスが通りました(別のディレクトリにいる状態でもpythonと打てばプログラムを実行できるようになりました)。
ただ、この方法だとコマンドプロンプトを新しく開く度にこの操作が必要になります。
ずっとパスが通っていて欲しいなら…
コントロールパネルから設定しましょう。
(コマンドプロンプトからも設定できる?のかもしれませんが、わたしは方法を知りません)
コントロールパネルからパスを設定するには
- コントロールパネル>システムとセキュリティ>システム を開く
- 左のメニューの「システムの詳細設定」をクリック
- 出てきたウィンドウの一番下の「環境変数」をクリック
- 開いたウィンドウの下のほうの「システム環境変数」の中の「Path」を選択して「編集」をクリック
- 出てきたウィンドウの「変数値」の最後に「;C:\Python27」を追加して、あとは全て「OK」でウィンドウを閉じる
これでずっとパスが通ってるので、いつコマンドプロンプトにpythonと打ってもプログラムが実行されます。わーい。
参考文献
以下の記事にお世話になりました。ありがとうございました。
PythonをWindowsコマンド プロンプトから使う