Python パッケージを更新する
-
pip
を使用して Python パッケージを更新する - JupyterNotebook を使用して Python パッケージを更新する
- 仮想環境を使用して Python パッケージを更新する
-
pipenv
環境を使用して Python パッケージを更新する
この世界で構築されたすべてのソフトウェアは、バグを修正してそのソフトウェアを最大限に活用するために、時々定期的なチェックを必要とします。すべてのソフトウェアと同様に、Python ソフトウェアも随時修正および更新する必要があります。Python には、時々更新する必要のある組み込みのパッケージやモジュールがたくさんあります。多くの機能や組み込み関数が追加され続けているからです。もう 1つの理由は、古すぎるパッケージは最新バージョンの Python をサポートしていない可能性があることです。
このチュートリアルでは、Python でパッケージを更新するいくつかの方法を示します。
pip
を使用して Python パッケージを更新する
コンピューターのコマンドラインから Python パッケージを更新するには、次のコマンドを実行します。
pip install --upgrade [package name]==[package version or latest package version]
ユーザーが pip
の代わりに pip3
を使用しなければならない場合があります。
Linux で Python パッケージを更新するもう 1つの方法は、次のコマンドを使用することです。
sudo pip install [package_name] --upgrade
繰り返しますが、pip
または pip3
はオペレーティングシステムごとに異なる場合があります。
sudo
を使用すると、アクションを実行する前にシステムパスワードを要求されるため、コマンドラインで操作するためのより安全な方法です。
JupyterNotebook を使用して Python パッケージを更新する
Jupyter Notebook は、ユーザーが Python でコーディングし、データの視覚化や機械学習などのタスクを実行できる、無料のオープンソース Web アプリケーションです。AnacondaNavigator と呼ばれるグラフィックユーザーインターフェイス(GUI)の下にあります。このような Web アプリケーションを起動し、そのパッケージとモジュールを同時に管理するのに役立ちます。
Jupyter ノートブックを使用して Python パッケージを更新することもできます。このタスクを実行するコマンドは次のとおりです。
!pip install <package_name> --upgrade
仮想環境を使用して Python パッケージを更新する
このメソッドは、仮想環境で特定のバージョンの Python を必要としないパッケージを更新するために使用されます。このメソッドで使用される Python コードは、pip
コマンドを使用します。
このメソッドでは、pkg_resources
モジュールが使用されます。このモジュールは、Python のパッケージとバージョンを見つけて操作するのに役立ちます。
このメソッドでは、subprocess
と呼ばれる別のモジュールが使用され、ユーザーが新しいプロセスを取得して新しいプログラムを取得して実行できるようにします。このモジュールは通常、古いバージョンのモジュールを置き換えるために使用されます。
import pkg_resources
from subprocess import call
for p in pkg_resources.working_set:
call("python -m pip install --upgrade " + p.<projectname>, shell=True)
pipenv
環境を使用して Python パッケージを更新する
これは、特定の仮想環境で特定の Python バージョンを必要としないパッケージを更新する最も簡単な方法の 1つです。
pipenv
ツールは、必要なすべての手段を提供することにより、ユーザーが独自の python プロジェクトの仮想環境を作成するのに役立ちます。
以下は、pipenv
を使用して Python パッケージを更新する手順です。
更新するすべてのパッケージを含むシェルをアクティブ化します
pipenv shell
すべてのパッケージを更新します。
pipenv update
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn