pipenvについて
Pipfileというのがあって、そこに環境ごとに使うpipモジュールを書いていく
そして、pipenv install
(--dev
とかつけるとその環境用の)とすると、Pipfileに書かれたモジュールが閉じられた仮想環境向けにインストールされる、という仕組みらしい
これだけ聞くとrubyのbundlerに似てる、と思った。けどbundlerはグローバルにgemをインストールしてくる(--path vender/bundle
とかでグローバルに入れない方法もあるのは知ってるけど)
Rubyではグローバルに入れる使い方だけど、それで問題になったことはない
一方pythonはなんとなく仮想環境つかってグローバルを汚染しないようにする、という感覚だったけど、何が違うのだろう?
と不思議におもったのでまずBundlerで調べると、まさに自分が思った通りのことをまとめてくれている方がいた
参考:bundle install時に--path vendor/bundleを付ける必要性は本当にあるのか、もう一度よく考えてみよう #Ruby - Qiita
Rubyの世界では仮想環境的なことは不要、という話
ではなぜPythonでは必要なのだろうか?
わからん
githubのlockに関して
こないだ書いた日記の「20240325 gitあれこれ、プロンプト、ブランチへのpush禁止、aliasに引数 #Git - Qiita」、ブランチへの直接のpushはできなくなったが、他ブランチからのmergeも赤くなってすんなりできなくなった
無理やりマージみたいなチェックをするとできるが、そんなのは求めてない機能だ
ちょっと思ってたのと違った
なんかどこかで設定があるのかもだけど、とりあえずブランチのLockは外した