なんか要素が3つ続くと とととわたし構文にしたくなる。
ところで
windowsでvenv使いつつpy Launcher使っちゃうときない? 僕はいつも使ってる。
shebangに関してはなんとなーくわかってたんだけど、
windowsだしまぁあんまり気にしなくていっかっておもったらそうでもなかった
例えばこういうファイルが有ったとして
#!/usr/bin/env python
import pandas
更にこういう環境があったとする。デフォルトのpythonは素のまんま。
$ py -m venv hogenv
$ . hoge/Scripts/activate
(hogenv) $ pip install -U pip
(hogenv) $ pip install pandas
じゃあ実行しようってなったら py 自然とこういう感じになる。ならない? なると思う。
(hogenv) $ py hoge.py
こうすると pandas
がないぞって言われる。なにゆえ。
困ったときのPEP
すごくくだらないんだけど、このPEP397、サンキューな!って感じがして個人的にツボ
まじでサンキューな
とはいえ全部書かれてなかったからどこでみたか忘れたんだけど、(多分参考のどっかにある)
/usr/bin/env python
/usr/bin/python
/usr/local/bin/python
python
こいつらがあるとpyランチャーはデフォルトのpythonインタプリタを呼び出すらしい。
なのでさっき pandasがないぞって言われたのはデフォルトの何も入ってないpythonを呼び出したからだと思う。
踏まえて
こう起動したら良くない? ってなった
(hogenv) $ python hoge.py
windows だけで考えるなら仮想環境のパスをshebangに渡してしまって、
py ランチャーで起動するのも有りだと思う。
もしくはshebangを抜くか。
特に締まらないけどこれでおしまい
参考
3. Windows で Python を使う
shebangのとこ
https://www.python.org/dev/peps/pep-0397/