UbuntuでPythonのモジュールをインストールしたいとき、aptとpipのどちらを使って入れようか?と思った話
さて趣味程度にぽちぽちとPythonでプログラミングをしているのですが、以前から気になっていた疑問が一つ。
(以下、Ubuntuを使うという前提で話を進めていきます)
代表的なモジュールならUbuntuのリポジトリに用意されているので、aptを使ってインストールすることが出来ます。 そしてPython自体もpipという独自のパッケージ管理システムを持っています。pipを使ったインストールではPyPI(Python Package Index)というリポジトリを参照するようです。
本格的にPythonでプログラミングをする場合は、膨大なパッケージがあるpipを使った方が良さそうです。Ubuntuのaptでインストール出来るものは代表的なものは揃っているのですが、それでもpipよりは限られています。
またaptとpipではインストールのされ方が異なってきます。まずaptではスーパーユーザーでインストールするため、システム領域にインストールされることになります。一方pipではユーザー環境にもインストールすることが出来ます。
それとPythonを仮想環境(venvなど)で動かす場合はpipは欠かせません。環境を分離するための仮想環境なので、必要なパッケージは個別にインストールする必要があり、それにはaptでのインストールは向いていないためです。
さて、パッケージの数、インストールのされ方、仮想環境での使用について見てきましたが、ではaptとpipのどちらを使うのがいいのでしょうか?特にどちらかというのは気にしないで両方とも使って必要なものをその都度インストールしていく、というのは後々面倒を抱えることになってしまいます。インストールしたパッケージがどちらのパッケージ管理システムをちゃんと把握できていればいいのですが、適当にインストールしているとそのへんがおざなりになりがちです。
一見してpipでインストールした方がいいように思うのですが、aptではUbuntuのリポジトリからインストールされるのでそれはそれで安心感はあります。
個人的にはシステム側のPythonと分けるために仮想環境を構築して、そこでpipによってパッケージ管理をしていくのが良さそうかな思っています。ただシステム側のPythonを使う場面もいろいろあるので、システム側で必要となったパッケージについてはaptで入れていくのがいいかと思います。
- Pythonでインストールされていないモジュールを使いたいときに、どんな方法でインストールすればよいか
(以下、Ubuntuを使うという前提で話を進めていきます)
代表的なモジュールならUbuntuのリポジトリに用意されているので、aptを使ってインストールすることが出来ます。 そしてPython自体もpipという独自のパッケージ管理システムを持っています。pipを使ったインストールではPyPI(Python Package Index)というリポジトリを参照するようです。
本格的にPythonでプログラミングをする場合は、膨大なパッケージがあるpipを使った方が良さそうです。Ubuntuのaptでインストール出来るものは代表的なものは揃っているのですが、それでもpipよりは限られています。
またaptとpipではインストールのされ方が異なってきます。まずaptではスーパーユーザーでインストールするため、システム領域にインストールされることになります。一方pipではユーザー環境にもインストールすることが出来ます。
それとPythonを仮想環境(venvなど)で動かす場合はpipは欠かせません。環境を分離するための仮想環境なので、必要なパッケージは個別にインストールする必要があり、それにはaptでのインストールは向いていないためです。
さて、パッケージの数、インストールのされ方、仮想環境での使用について見てきましたが、ではaptとpipのどちらを使うのがいいのでしょうか?特にどちらかというのは気にしないで両方とも使って必要なものをその都度インストールしていく、というのは後々面倒を抱えることになってしまいます。インストールしたパッケージがどちらのパッケージ管理システムをちゃんと把握できていればいいのですが、適当にインストールしているとそのへんがおざなりになりがちです。
一見してpipでインストールした方がいいように思うのですが、aptではUbuntuのリポジトリからインストールされるのでそれはそれで安心感はあります。
個人的にはシステム側のPythonと分けるために仮想環境を構築して、そこでpipによってパッケージ管理をしていくのが良さそうかな思っています。ただシステム側のPythonを使う場面もいろいろあるので、システム側で必要となったパッケージについてはaptで入れていくのがいいかと思います。
- システム側のPython : apt
- 仮想環境のPython : pip
参考
- software installation - apt-get install vs pip install - Ask Ubuntu
- python - What is the difference between installing a package using pip vs. apt-get? - Stack Overflow
コメント
コメントを投稿