質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4947閲覧

pythonのパスを通すということについて

blendegg

総合スコア81

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/06/18 11:34

パスを通すという意味について以下のページの回答を解釈してみました。

https://teratail.com/questions/174581

現在いるディレクトリを 「カレントディレクトリ」 とか 「作業フォルダ」と呼びますが、ディレクトリを移動するということは 「カレントディレクトリ」を変更していることになります。

パスを通す について
例えば、C:\Python37 に pythonをインストールするとします。

C:\Python37 にパスを通した場合、
どのディレクトリ(フォルダ)にいても
pythonを実行できます。

パスを通さない場合、
C:\Python37 に移動すると pythonを実行できますが、
他のディレクトリにいると pythonは実行できません。
但し、他のディレクトリからでも フルパス、相対パスを付ければ実行できます。
例 C:\User\myname>C:\Python37\python

インストール先のフォルダではpythonが実行できる、それ以外のフォルダではpythonが実行できないと解釈しました

こちらの環境ではpython.exeは以下のフォルダにありました。
C:\Users\username\AppData\Local\Programs\Python\Python38-32>python print("hoge")
以下はデスクトップです
C:\Users\username\Desktop>python print("hoge")
しかしどちらでも結果は同じです
python: can't open file 'print(hoge)': [Errno 2] No such file or directory

.pyファイルを指定しての実行ならどちらのフォルダでもできます
python file.py

このパスを通すというのはどういうことでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

「パスを通す」とは「Windowsがpython.exeという実行ファイルを見つけられるように、それが含まれるフォルダを教えること」です。したがって現在「パスは通っている」状況です。

それとは別にpythonというコマンドの動作について理解する必要があります。

python ファイル名

は認められていますが

python コマンド

は認められていません。そのようなことを行いたい場合は-cオプションを付けます。

python -c 'print("hoge")'

投稿2020/06/18 12:02

yymmt

総合スコア1615

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

blendegg

2020/06/19 02:25

基本的にはファイルを指定して動かすのですね。cmd上でprintを使うにはcオプションを使うとのことですが、これでもcmd上ではprintされません。 空白の行が挿入されるだけですね。
Bull

2020/06/19 09:57

python -c print(\"hoge\") でどうでしょうか?
yymmt

2020/06/19 11:33

失礼しました。Windowsだとシングルクォートは特殊文字ではなかったです。Bullさんが書いているようにエスケープするか、あるいは外側をダブルクォートにして内側をシングルクォートにすれば良いです。 python -c "print('hello')"
guest

0

参照されている回答にあるように、

「パスを通す」というのは、通常は「実行ファイルの検索対象パスを追加する」という意味で使います。

です。「実行ファイル」の意味が分かりますか? 確認された例では python が該当します。 (正確には、python.exe と思う)
ディスクトップでも Pythonのインストールフォルダでも実行結果が同じという事は、パスに Pythonのインストールフォルダが入っているのでしょう。
ここで、パスと言うのは、(windowsの場合) 環境変数の PATHを意味します。コマンドプロンプトで、 path と打ち込んで表示されるものがパスになります。この中に、Pythonのインストールフォルダが入っていると思います。(ここでのフォルダの区切りは、;)

さて、
python file.pyは動いたとの事ですが、ここでの file.pyは、 pythonというプログラムの 引数です。python.exe を 引数 file.pyで実行するという事を意味します。 (python は、file.py を読み込んで実行する)
では、python print("hoge") と打ち込んだ場合は、どうなるか?
print("hoge")は、Pythonのファイル名では無いので、実行できません。という事になります。pythonプログラム(python.exe)の引数としてはファイル名以外にもありますが、それにも該当しないようです。(具体的には、python -h と打ち込んでください)
そのため、エラーとなります。

投稿2020/06/18 12:05

pepperleaf

総合スコア6385

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問