💭中級者へのModern Python2021/01/08に公開2021/06/184件PythonmoderntechGitHubで編集を提案Discussionascascasc2021/01/10dcsdc 返信を追加tfukumori2021/01/11に更新参考になる記事ありがとうございます! Pythonは色々やり方があるようで、確立された方法を整理して読むことができ参考になります...! 差し支えなければ1点教えていただけると幸いです。 pyenv + venv(Python 3.3から標準)ではなく、pyenv + pipenvを選択した具体的な理由(運用上困った点)はあるのでしょうか? ざっと使用した限りでは、pyenv + venvでの運用でも特に困らなかったのと、標準の仮想環境として採用されたことを考えて、venvのほうが良いのかなと考えていました。 Pythonを触り始めたのは1年ぐらいなので、検討違いのことを記載していたら申し訳ありません。。 ganyariya2021/01/11pyenv + venvでも問題はないかと思います。(困ることはないと思います。) ただ、以下の点などで自分はpipenvを使っています。 pyenv + venvだとコマンドが多くなりがち(pyenv -> venv作成 -> activate (bash,fishなどでファイルが異なる)) pipenv install pipenv shell requirements.txtにすべてのバージョンが入ってしまう(ライブラリのアップデートがし辛い) Pipfile, Pipfile.lock (poetryだとpyproject.toml、ただこれはpoetryだけの標準でなく、PEPで規定された規格です) コマンドを登録できる venv, pipenv, poetryのすきなものを使うと良さそうです。(やはりこれですね あとはプロジェクトが指定しているツールを使うことになりそうです) tfukumori2021/01/12に更新コメントありがとうございます。 確かに、プロジェクトが指定しているもの、そこは大事ですね...! pyenv + venvだとコマンドが多くなりがち 仮想環境作成時は確かに少し面倒ですね...。一度仮想環境を作成すれば、VSCodegが自動的に切り替えてくれるので気にならないのですが。 ライブラリのアップデートがし辛い 使用したいライブラリのみを指定できる(Pipfile)。参考1、参考2 requirements.txtでバージョン固定できることが逆に邪魔になることがある ということですね。 .NETをメインで使っているのですが、Pythonでは実際に使いたい(参照したい)ライブラリがわかりにくいと思っていたので、標準(venv, pip)以外のツールが色々と開発されている理由も納得いたしました。 venvを使う場合はpip toolsというものもあり、pipenvコミュニティでも議論されているようですが、見る限り確かにpipenvのほうがシンプルですね。 pipenv、poetry含め実際に検証していこうと思います。 勉強になりました。ありがとうございます。 返信を追加
tfukumori2021/01/11に更新参考になる記事ありがとうございます! Pythonは色々やり方があるようで、確立された方法を整理して読むことができ参考になります...! 差し支えなければ1点教えていただけると幸いです。 pyenv + venv(Python 3.3から標準)ではなく、pyenv + pipenvを選択した具体的な理由(運用上困った点)はあるのでしょうか? ざっと使用した限りでは、pyenv + venvでの運用でも特に困らなかったのと、標準の仮想環境として採用されたことを考えて、venvのほうが良いのかなと考えていました。 Pythonを触り始めたのは1年ぐらいなので、検討違いのことを記載していたら申し訳ありません。。 ganyariya2021/01/11pyenv + venvでも問題はないかと思います。(困ることはないと思います。) ただ、以下の点などで自分はpipenvを使っています。 pyenv + venvだとコマンドが多くなりがち(pyenv -> venv作成 -> activate (bash,fishなどでファイルが異なる)) pipenv install pipenv shell requirements.txtにすべてのバージョンが入ってしまう(ライブラリのアップデートがし辛い) Pipfile, Pipfile.lock (poetryだとpyproject.toml、ただこれはpoetryだけの標準でなく、PEPで規定された規格です) コマンドを登録できる venv, pipenv, poetryのすきなものを使うと良さそうです。(やはりこれですね あとはプロジェクトが指定しているツールを使うことになりそうです) tfukumori2021/01/12に更新コメントありがとうございます。 確かに、プロジェクトが指定しているもの、そこは大事ですね...! pyenv + venvだとコマンドが多くなりがち 仮想環境作成時は確かに少し面倒ですね...。一度仮想環境を作成すれば、VSCodegが自動的に切り替えてくれるので気にならないのですが。 ライブラリのアップデートがし辛い 使用したいライブラリのみを指定できる(Pipfile)。参考1、参考2 requirements.txtでバージョン固定できることが逆に邪魔になることがある ということですね。 .NETをメインで使っているのですが、Pythonでは実際に使いたい(参照したい)ライブラリがわかりにくいと思っていたので、標準(venv, pip)以外のツールが色々と開発されている理由も納得いたしました。 venvを使う場合はpip toolsというものもあり、pipenvコミュニティでも議論されているようですが、見る限り確かにpipenvのほうがシンプルですね。 pipenv、poetry含め実際に検証していこうと思います。 勉強になりました。ありがとうございます。 返信を追加
ganyariya2021/01/11pyenv + venvでも問題はないかと思います。(困ることはないと思います。) ただ、以下の点などで自分はpipenvを使っています。 pyenv + venvだとコマンドが多くなりがち(pyenv -> venv作成 -> activate (bash,fishなどでファイルが異なる)) pipenv install pipenv shell requirements.txtにすべてのバージョンが入ってしまう(ライブラリのアップデートがし辛い) Pipfile, Pipfile.lock (poetryだとpyproject.toml、ただこれはpoetryだけの標準でなく、PEPで規定された規格です) コマンドを登録できる venv, pipenv, poetryのすきなものを使うと良さそうです。(やはりこれですね あとはプロジェクトが指定しているツールを使うことになりそうです)
tfukumori2021/01/12に更新コメントありがとうございます。 確かに、プロジェクトが指定しているもの、そこは大事ですね...! pyenv + venvだとコマンドが多くなりがち 仮想環境作成時は確かに少し面倒ですね...。一度仮想環境を作成すれば、VSCodegが自動的に切り替えてくれるので気にならないのですが。 ライブラリのアップデートがし辛い 使用したいライブラリのみを指定できる(Pipfile)。参考1、参考2 requirements.txtでバージョン固定できることが逆に邪魔になることがある ということですね。 .NETをメインで使っているのですが、Pythonでは実際に使いたい(参照したい)ライブラリがわかりにくいと思っていたので、標準(venv, pip)以外のツールが色々と開発されている理由も納得いたしました。 venvを使う場合はpip toolsというものもあり、pipenvコミュニティでも議論されているようですが、見る限り確かにpipenvのほうがシンプルですね。 pipenv、poetry含め実際に検証していこうと思います。 勉強になりました。ありがとうございます。
Discussion
dcsdc
参考になる記事ありがとうございます!
Pythonは色々やり方があるようで、確立された方法を整理して読むことができ参考になります...!
差し支えなければ1点教えていただけると幸いです。
pyenv + venv(Python 3.3から標準)ではなく、pyenv + pipenvを選択した具体的な理由(運用上困った点)はあるのでしょうか?
ざっと使用した限りでは、pyenv + venvでの運用でも特に困らなかったのと、標準の仮想環境として採用されたことを考えて、venvのほうが良いのかなと考えていました。
Pythonを触り始めたのは1年ぐらいなので、検討違いのことを記載していたら申し訳ありません。。
pyenv + venvでも問題はないかと思います。(困ることはないと思います。)ただ、以下の点などで自分はpipenvを使っています。
pyenv + venvだとコマンドが多くなりがち(pyenv -> venv作成 -> activate (bash,fishなどでファイルが異なる))pipenv installpipenv shellPipfile,Pipfile.lock(poetryだとpyproject.toml、ただこれはpoetryだけの標準でなく、PEPで規定された規格です)venv, pipenv, poetryのすきなものを使うと良さそうです。(やはりこれですね あとはプロジェクトが指定しているツールを使うことになりそうです)
コメントありがとうございます。
確かに、プロジェクトが指定しているもの、そこは大事ですね...!
仮想環境作成時は確かに少し面倒ですね...。一度仮想環境を作成すれば、VSCodegが自動的に切り替えてくれるので気にならないのですが。
ということですね。 .NETをメインで使っているのですが、Pythonでは実際に使いたい(参照したい)ライブラリがわかりにくいと思っていたので、標準(venv, pip)以外のツールが色々と開発されている理由も納得いたしました。
venvを使う場合はpip toolsというものもあり、pipenvコミュニティでも議論されているようですが、見る限り確かにpipenvのほうがシンプルですね。
pipenv、poetry含め実際に検証していこうと思います。
勉強になりました。ありがとうございます。