Mysqlclientをインストールしようとしています。インターネットで検索したところ、2つのコマンドSudo pip3 install mysqlclient
または単にpip3 install mysqlclient
が見つかりました。どちらを使用する必要があり、なぜですか?
Pip3コマンドでSudoを使用している場合、パッケージはすべてのユーザーがアクセスする/usr/local/bin/mysqlclient
ディレクトリにインストールします(つまり、グローバルにインストールします) 。一方、Sudoなしでは、~/.local/bin/mysqlclient
ディレクトリにインストールされ、現在のユーザーのみにアクセスします(つまり、ローカルにインストールします)。
ただし、Pythonプロジェクト用の分離された環境を作成するには、 仮想環境 を優先してください。これは、他のすべてのプロジェクトの依存関係に関係なく、各プロジェクトが独自の依存関係を持つことができることを意味します。大規模なプロジェクトに便利です。
Sudo
またはpip3
を使用したグローバルなシステム全体のPythonインストール用のものをインストールする場合は、pip
または昇格された権限のみを使用します。それ以外の場合は、pythonパッケージをpip3 install <package>
でローカルにインストールします(例:pip3 install mysqlclient
)。
悪意のあるパッケージは、Pythonプログラミング言語のソフトウェアの公式サードパーティリポジトリであるPyPIで時々発見されます。 Python仮想環境を使用して、pip/pip3でインストールするパッケージを分離することをお勧めします。 virtualenvユーティリティは、仮想Pythonインスタンスを作成し、各インスタンスは独自のPython実行可能ファイルで呼び出し可能です。各インスタンスは、異なるモジュールのセットを持つことができます。仮想Pythonインスタンスも、ルートアクセスなしで作成できます。