pythonスクリプトがあるので、script1.pyと名付けましょう。この方法でターミナルで実行できます:
python /path/script1.py
...
しかし、私はコマンドラインプログラムのように実行したい:
arbitraryname
...
どうすればいいですか?
スクリプトの開始時に シェバンライン を使用します。
#!/usr/bin/env python
ファイルを実行可能にします。
chmod +x arbitraryname
pATH上のディレクトリに配置します(シンボリックリンクの場合もあります)。
cd ~/bin/
ln -s ~/some/path/to/myscript/arbitraryname
3つの部分があります。
スクリプトの解析時に使用するインタープリターをシェルが認識できるように、スクリプトの先頭にシバンを追加する必要があります。一般的には:
#!path/to/interpretter
マシン上のpythonインタープリターへのパスを見つけるには、次のコマンドを実行できます。
which python
これはPATHを検索して、python実行可能ファイルの場所を見つけます。それはあなたがあなたのシバンを形成するために使用できる絶対パスで戻ってくるはずです。 Shebangがpythonスクリプトの先頭にあることを確認してください:
#!/usr/bin/python
スクリプトを実行権限でマークして、コマンドとして使用するときに実際に実行することをシェルが認識できるようにする必要があります。これを行うには、次のコマンドを実行できます。
chmod +x myscript.py
PATH環境変数は、実行しようとしているコマンドを探すときにシェルが検索するディレクトリの順序付きリストです。したがって、pythonスクリプトをどこからでも実行できるコマンドにする場合は、PATHに含める必要があります。コマンドを実行しているパスの内容を見ることができます:
echo $PATH
これにより、各ディレクトリがセミコロンで区切られた長いテキスト行が出力されます。 PATHから実行している実行可能ファイルの実際の場所を知りたい場合は、次のコマンドを実行して見つけることができます。
which <commandname>
現在、2つのオプションがあります。スクリプトをPATHにすでにあるディレクトリに追加するか、新しいディレクトリをPATHに追加します。通常、ユーザーのホームディレクトリにディレクトリを作成し、PATHに追加します。パスに物事を追加するには、次のコマンドを実行できます。
export PATH=/my/directory/with/pythonscript:$PATH
これで、pythonスクリプトをコマンドとしてどこでも実行できるはずです。しかし!シェルウィンドウを閉じて新しいウィンドウを開くと、新しいウィンドウは、PATHに加えた変更を記憶しません。したがって、この変更を保存する場合は、.bashrcまたは.bash_profileの下部にそのコマンドを追加する必要があります
次の行を先頭に追加しますscript1.py
#!/usr/bin/env python
そして、スクリプトを実行可能にします:
$ chmod +x script1.py
スクリプトがPATH
変数に表示されるディレクトリにある場合は、単に入力できます
$ script1.py
それ以外の場合は、絶対パスまたは絶対パスを指定する必要があります。これには、現在の作業ディレクトリが含まれます。これは、notがPATH
にある必要があります。
$ ./script1.py
hashbang を使用する必要があります。 pythonスクリプトの最初の行に追加します。
#! <full path of python interpreter>
次に、ファイルの許可を変更し、実行許可を追加します。
chmod +x <filename>
そして最後に
./<filename>
現在のディレクトリにある場合、