1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pyとshebangとvenvとわたし

Posted at

なんか要素が3つ続くと とととわたし構文にしたくなる。

ところで

windowsでvenv使いつつpy Launcher使っちゃうときない? 僕はいつも使ってる。
shebangに関してはなんとなーくわかってたんだけど、
windowsだしまぁあんまり気にしなくていっかっておもったらそうでもなかった

例えばこういうファイルが有ったとして

hoge.py
#!/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/

余談

これしらんくて鼻水でた
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?