pythonのシェバンについてメモ

pythonの保存場所やエイリアスを確認する

1. python3.6を直に指定するスクリプト

2. pythonを直に指定するスクリプト

3. 環境変数からpython3.6を指定するスクリプト

4. 環境変数からpythonを指定するスクリプト

 

各スクリプトのシェバン行だけ並べるとこんな感じ

 

1,2,3,4のコードを実行してみる

 

activateして、1,2,3,4のコードを実行

 

まとめ

venvで仮想環境を用意し、activateした状態で
直にpython3.6を指定すると、思った通りの動作をしないかもしれない。

/usr/bin/env pythonを指定すると、
. ./bin/activate.fishした場合でも、仮想環境内のpythonを呼び出せる。

venvで仮想環境を作成して作業(activate)してるときは、
仮想環境内のpythonを呼び出してほしいはずなので、
シェバンでも/usr/bin/env pythonを指定するようにしていこう。

また、activateした状態で、
/usr/bin/env pip freeze と
/usr/bin/pip freeze を 見比べれば、違いが良く分かる。

 
 

cf. Pythonのcoding: ナントカのことがよく分からないから調べてみた
https://qiita.com/ronin_gw/items/2c82b727461b18991eff

カテゴリー: 技術

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です