pythonを実務で使うためには、パッケージが必要になります。
機械学習をするためには、まず、以下のパッケージが必須と言えます。
- pandas
- numpy
- scipy
- matplotlib
- scikit-learn
- PyTorch
他にも、必要に応じて、パッケージをインストールしていきます。これらのパッケージをインストールするためには、基本的にはコマンドラインで
$conda install パッケージ名
$pip install パッケージ名
と入力してインストールしていくことになります。インストールできればどちらでも同じと考えている方も多いと思いますが、実際はかなり違いますので、使い方には注意が必要です。
結論から言うと、condaでインストールできる場合には極力condaコマンドを使用すべきと思います。
絶対にやってはならないのが、condaとpipを混ぜること。同じパッケージをcondaとpipの両方でインストールすると、環境が壊れます。
pipはセキュリティ上問題あり
PyPIダウンロード時にコード実行する機能、犯罪に悪用される恐れ
The Hacker Newsは9月2日(米国時間)、「Warning: PyPI Feature Executes Code Automatically After Python Package Download」において、3分の1近くのPyPI (Python Package Index)パッケージがダウンロードされた時点で自動的にコードを実行すると伝えた。この機能が悪用された場合、開発者がサプライチェーン攻撃にさらされる危険性がある。
Pythonパッケージのインストール方法の一つとして、「pip install」コマンドが使われる。このコマンドを利用した場合、モジュールと一緒にバンドルされている「setup.py」というファイルが呼び出され、実行される。setup.pyは、依存関係を含むパッケージに関連するメタデータを指定するために使用されるセットアップスクリプトで、脅威アクターがこのファイルに悪意のあるコードを組み込むとされている。
掲載日 2022/09/04 著者:後藤大地
pipが怖いのがまさにこれです。PyPIは誰でもライブラリを追加できてしまうため、安全性の面では不安が残ります。
これに対して、condaの場合は、Anaconda Cloudで管理、検査されているので、安全性が高いと言われています。ただし、その分登録されているパッケージ数は少なく、使いたいパッケージがcondaにはなく、pipでしかインストールできない、ということがあります。この場合は仕方ありませんので、pipでインストールするしかないです。
この場合でも、安全性の確認と、パッケージ相互の依存関係を確認し、環境を破壊したり、ウイルスの侵入を防ぐ必要があります。
機械学習関連であれば、condaコマンドで事足りると思いますので、あまり問題は生じないとは思いますが、pipを使うときは要注意です。