Python パッケージ管理 (pip、conda) を使用するための基本ガイド

Python パッケージ管理

概要

導入

Python には、科学計算用の NumPy、データ処理用の Pandas、描画用の Matplotlib など、さまざまなタスクの実行や Python の機能の拡張に役立つオープンソースのサードパーティ ライブラリとパッケージが豊富にあります。Pytlhon プログラムの作成を開始する前に、プログラミング中に簡単に使用できるように、一般的に使用される Python ライブラリをいくつかインストールすることをお勧めします。

サードパーティのライブラリとパッケージを便利に管理するには、pip、conda などの Python パッケージ管理ツールをインストールする必要があります。これらのツールは、Python パッケージのインストール、アップグレード、削除に役立ち、Python の依存関係の管理が容易になります。


Anaconda、conda、pip、virtualenv の違い

  • アナコンダ

    Anaconda は、180 以上の科学パッケージとその依存関係を含むディストリビューションです。これに含まれる科学パッケージには、conda、numpy、scipy、ipython Notebook などが含まれます。

  • コンダ

    conda は、パッケージ、その依存関係、および環境の管理ツールです。

    対応言語:Python、R、Ruby、Lua、Scala、Java、JavaScript、C/C++、FORTRAN

    対応プラットフォーム:Windows、macOS、Linux

    使用:

    • パッケージとその依存関係をすばやくインストール、実行、アップグレードします。

    • コンピュータ上で環境を簡単に作成、保存、読み込み、切り替えます。

      必要なパッケージに別のバージョンの Python が必要な場合、conda は環境マネージャーでもあるため、別の環境に切り替える必要はありません。いくつかのコマンドを使用するだけで、通常の環境で通常の Python バージョンを使用し続けながら、異なる Python バージョンを実行する完全に別の環境を作成できます。——

    conda は Python プロジェクト用に作成されましたが、上記の多くの言語で利用できます。

    conda パッケージと環境マネージャーは、Anaconda のすべてのバージョンに含まれています。

  • ピップ

    pip は、ソフトウェア パッケージをインストールおよび管理するためのパッケージ マネージャーです。

    pipの対応言語:Python

    Python にデフォルトでインストールされるバージョン:

    • Python 2.7.9 以降のバージョン: デフォルトでインストールされ、コマンドは pip です
    • Python 3.4 以降のバージョン: デフォルトでインストールされ、コマンドは pip、pip3 です。

    pip 名の由来: pip は再帰的な略語に基づいて命名されました。その名前は一般に 2 つの出典から来ていると考えられています。

    • 「Pip はパッケージをインストールします」
    • 「Pip は Python をインストールします」 (「Pip は Python をインストールします」)
  • 仮想環境

    virtualenv は、分離されたPython 環境を作成するためのツールです

    問題を解く:

    • あるプログラムが Python 2.7 バージョンを使用する必要があり、別のプログラムが Python 3.6 バージョンを使用する必要がある場合、すべてのプログラムが次のようにシステムのデフォルト パスにインストールされている場合、アップグレードすべきではないプログラムが誤ってアップグレードされると/usr/lib/python2.7/site-packages、他のプログラムに影響を与えます。
    • プログラムの実行中にプログラムをインストールしたり、そのライブラリまたはライブラリのバージョンを変更したりすると、プログラムが破損する原因になります。
    • ホスティングを共有する場合、site-packagesパッケージをグローバル ディレクトリにインストールすることはできません。

    virtualenv は、他の virtualenv 環境とライブラリを共有しない独自のインストール ディレクトリの環境を作成します。オプションで、インストールされたグローバル ライブラリをリンクしないこともできます。


ピップとコンダ

  • 依存関係チェック

    • ピップ:

      必要なその他の依存関係は、必ずしも表示されない場合があります。

      パッケージをインストールするときに、依存関係を単純に無視してインストールするだけで、結果にエラーが表示される場合があります。

    • コンダ:

      その他の必要な依存関係をリストします。

      パッケージをインストールするときに、その依存関係を自動的にインストールします。

      パッケージの異なるバージョン間を自由に簡単に切り替えることができます。

  • 環境管理

    • pip: 複数の環境を維持するのは難しい
    • conda: 異なる環境間の切り替えがより便利で、環境管理が比較的簡単です
  • システムの組み込み Python への影響

    • pip: システム独自の Python でパッケージを更新/元に戻し/アンインストールすると、他のプログラムに影響します。
    • conda: システムに付属する Python には影響しません。
  • 対応言語

    • pip: Python のみ
    • conda: Python (主に)、R、Ruby、Lua、Scala、Java、JavaScript、C/C++、FORTRAN で利用可能です。
  • conda と pip、virtualenv の関係

    conda は pip と virtualenv の機能を組み合わせています。

    conda は新しいパッケージ形式を使用するため、pip は conda のパッケージ形式をインストールおよび解析できません。2 つのツールを使用できますが、pip を使用して conda のオフライン パッケージをローカルにインストールするなど、相互作用することはできません。


pip (Python パッケージマネージャー)

導入

  • pip は Python の公式パッケージ マネージャーであり、Python の各バージョンに付属しています。Python をインストールすると、pip もインストールされます。
  • Python 標準ライブラリの一部ではない Python のさまざまなサードパーティ ライブラリ (パッケージ) は、pip を通じて簡単にインストールおよび管理できるため、プロジェクト内のコードに直接導入して使用できます。
  • pip は、ターミナルまたはコマンド プロンプトで直接使用できるコマンド ライン ツールです。

基本コマンド

  • Pythonのパッケージ管理

    # 查看已安装的包
    pip list
    # 查看需要升级的库
    pip list -o
    
    # 安装一个 python 包
    pip install package_name			# package_name:具体地包名
    # 安装特定版本的包
    pip install package_name==version_number
    # 安装本地包
    pip install /path/to/package		# /path/to/package:本地包路径
    
    # pip的超时时间默认为15秒,如果下载速度过慢,可以使用以下命令设置超时时间为60秒
    # 方式1:添加参数--default-timeout=60。# 方式:在配置里面[global]下添加timeout=60
    pip install --default-timeout=60 package_name
    
    # 指定国内的源(阿里云)来安装某个包
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <package-name>
    # 注意:如果url是http的化,需要信任(因为未加密),可以通过下面两个方法解决
    # 方式1:安装时加入 --trusted-host 临时参数
    pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com/simple package_name
    # 方式2:在 pip.conf 中加入 trusted-host 选项,该方法是一劳永逸
    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=mirrors.aliyun.com
    
    # 升级包
    pip install --upgrade package_name
    # 升级pip
    pip install --upgrade pip
    
    # 卸载包
    pip uninstall package_name
    
    # 安装包的依赖项
    pip install package_name[dependencies]
    
    # 验证已安装的库是否有兼容依赖问题
    pip check package_name
    
    # 下载某个包到指定的路径下(不安装)
    pip download package_name -d "某个路径"  
    
    # 查看包的详细信息
    pip show package_name
    
    # 导出已安装的包列表
    pip freeze > requirements.txt
    # 从requirements.txt文件中安装包
    pip install -r requirements.txt
    
  • ダウンロードソースの管理

    # 新增全局下载源。国内最好更换pip的源,以便更快地下载包
    pip config set name value
    # 示例:清华源
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    
    # 删除全局下载源
    pip config unset name
    
    # 查看pip下载的安装包的默认路径
    python -m site
    
    # 显示pip的配置列表
    pip config list
    # 显示pip文件的所有存储位置
    pip -v config list
    # 输出的不同的目录对应不同的参数 --global(全局)、--user(用户) 、--site
    
  • 他のコマンド

    # 清理缓存。pip安装包的时候,会下载并缓存一些包以便后续使用,不会自动删除,这可能会占用磁盘空间,需要手动删除
    pip cache purge
    
    # 查看pip版本
    pip --version
    pip -V
    

pip の一般パラメータ オプション

  • -r,--requirement <file>: 指定された要件ファイルからインストールします。このオプションは複数回使用できます。

  • -c,--constraint <file>: 指定された制約ファイルの制約バージョンを使用します。このオプションは複数回使用できます。

    制約ファイルは要件ファイルよりも賢く、重要な点で要件ファイルとは異なります。制約ファイルにパッケージを入れてもパッケージはインストールされませんが、要件ファイルはリストされているすべてのパッケージをインストールします。パッケージの依存関係を置くためによく使用されます。

  • --no-deps: パッケージの依存関係をインストールしません。

  • --pre,pip: 検索にはプレリリース バージョンと開発バージョンが含まれます。デフォルトでは、pip は安定版リリースのみを検索します。

  • -e,--editable <path/url>: ローカル プロジェクト ロードキングまたは VCS URL から編集可能モード (setuptools 開発モードなど) でプロジェクトをインストールします。

  • -t,--target <dir>: パッケージを にインストールします。デフォルトでは、既存のファイルやフォルダは<dir>置き換えられません。<dir>

  • --platform <platform>:<platform>に適合するホイールのみを使用してください。デフォルトは、システムが実行されているプラ​​ットフォームです。このオプションを複数回使用して、ターゲット インタプリタでサポートされる複数のプラットフォームを指定します。

  • -U,--update: 指定されたすべてのパッケージを利用可能な最新バージョンにアップグレードします。依存関係の処理は、使用されるアップグレード戦略によって異なります。

  • --upgrade-strategy <upgrade_strategy>: 依存関係のアップグレードをどのように処理するかを決定します。

    2 つのモード:

    • "eager" : 現在インストールされている依存関係のバージョンがパッケージをアップグレードするための要件を満たしているかどうかに関係なく、依存関係はアップグレードされます。
    • 「only-if-needed」: アップグレード パッケージの要件が満たされていない場合にのみアップグレードします。
  • --force-reinstall: すでに最新のパッケージであっても、すべてのパッケージを再インストールします

  • -I,--ignore-installed: インストールされているパッケージを無視して上書きします。

    既存のパッケージのバージョンが異なる場合、または異なるパッケージ マネージャーがインストールされている場合、これによりシステムが破損する可能性があります。

  • --compile: Python ソース ファイルをバイトコードにコンパイルします。

  • --no-compile: Python ソース ファイルをバイトコードにコンパイルしないでください

  • --no-binary <format_control>: バイナリ パッケージは使用しないでください。

    <format_control>可能性があるのは次のとおりです:

    • all: すべてのバイナリ パッケージを無効にします
    • none: 以前に提供されたパッケージを空にするか、カンマで区切って指定されたパッケージを使用します。

    一部のパッケージはコンパイルが難しく、このオプションを使用するとインストールできない場合があることに注意してください。

  • --only-binary <format_control>: ソースパッケージを使用しないでください


コンダ(アナコンダ)

参考: Anaconda の紹介、インストール、使用方法のチュートリアル

導入

  • Conda は、Windows、macOS、Linux 上で動作するオープンソースのパッケージ管理システムおよび環境管理システムです。

    Conda はパッケージとその依存関係を迅速にインストール、実行、更新するため、コンピューター上での環境の作成、保存、読み込み、切り替えが簡単に行えます。

    元々は Python プログラム用に作られたもので、Python にはバージョンが多く、ライブラリも膨大で、ライブラリ間の依存関係も多いため、ライブラリのインストールやバージョン管理が非常に面倒なので、Conda は次のように設計されています。バージョンと Python 環境を管理するためのツールですが、任意の言語でソフトウェアをパッケージ化して管理することもできます。

    Conda は Anaconda に含まれているため、Anaconda をインストールし、リンクをクリックしてダウンロードし、対応するシステムとバージョンの種類を選択した後、直接 Conda を使用できます。

  • Anaconda は、計算科学 (データ サイエンス、機械学習、ビッグ データ処理、予測分析) 向けの無料でオープンソースの Python および R ディストリビューションです。

    Anaconda はパッケージ管理システムと展開の簡素化に特化しており、Conda、Python、150 以上の科学パッケージとその関連パッケージが付属しています。

    Anaconda のパッケージは、パッケージ管理システム Conda を使用して管理されます。


プロジェクトの開発やデプロイの過程では、Pythonのバージョンやモジュールのバージョンなど、プロジェクトによって必要な仮想環境が異なるため、Condaを通じてプロジェクトごとに環境を作成し、管理・利用することができます。対応する環境。

  • 複数のプログラミング言語でのパッケージおよび仮想環境環境の管理

  • パッケージのインストール、操作、更新、削除、依存関係の問題を非常に簡単に完了できます

  • repo.anaconda.com で 7,500 以上のパッケージを操作可能

  • 異なる環境の構築、保存、ロード、切り替えを完了するのは非常に簡単です

  • サポートされている言語: Python、R、Ruby、Lua、Scala、Java、JavaScript、C/C++、FORTRAN

    ただし、一般的には主に Python パッケージを管理するために使用されます。

  • サポートされているオペレーティング システム: Windows、macOS、Linux


Conda の共通コマンド

  • 仮想環境管理

    # 查看所有环境。注:1.*号所在的行表示当前所在环境。2.系统默认虚拟环境为base
    conda env list
    conda info -e
    
    # 创建新的虚拟环境。注:1.遇到yes/no输入yes,即可完成创建。
    conda create -n envs_name python=python_version
    # envs_name			:指定环境名称
    # python_version	:指定Python版本
    
    # 进入虚拟环境
    conda activate envs_name
    # 退出当前环境
    conda deactivate
    
    # 删除虚拟环境
    conda env remove -n envs_name
    
    # 复制虚拟环境
    conda create -n new_envs_name --clone old_envs_name
    
    # 更新python
    conda update python
    
    # 更新conda版本。注:必须在base环境更新
    conda update conda
    
  • モジュール/パッケージ管理

    # 查看当前环境的包列表
    conda list
    # 查看指定环境的包列表
    conda list -n envs_name
    
    # 在当前环境安装包。注:1.默认安装最新版本,2.同时安装多个包用空格分隔。
    conda install package_name
    # 在指定环境安装包
    conda install --name env_name package_name
    # 安装指定版本的包。注:使用conda安装指定包时,conda可以自动处理相关的依赖包
    conda install numpy=1.19
    # 指定范围内中版本包安装(安装版本处于1.0.4到1.1.1之间的pandas)
    conda install "pandas>1.0.4,<1.1.1"
    # 指定list中版本包安装(安装pandas 1.0.4版或者1.1.1版)
    conda install "pandas[version='1.0.4 |1.1.1']"
    
    # 包安装跳过【y/n】。默认情况下为 false,即安装过程中会请求是否继续安装,设置为yes则不再弹出请求。
    conda config --set always_yes yes
    
    # 卸载当前环境的包
    conda remove package_name
    # 卸载指定环境的包
    conda remove --name env_name package_name
    
    # 升级当前环境的包
    conda update/upgrade package_name
    # 升级指定环境的包
    conda update/upgrade -n env_name package_name
    # 升级全部包
    conda upgrade --all
    
    # 精确查找包
    conda search package_name
    # 模糊查找包,模糊符号为 *
    conda search *<模糊词>*
    # 查看某个范围内版本包
    conda search "PKGNAME [version='>=1.0.0,<1.1']"
    
  • conda ダウンロードソース管理

    # 查看已配置下载源
    conda config --show channels
    
    # 查看已配置下载源优先级
    conda config --get channels
    
    # 新增下载源(清华大学源)
    conda config --add channels channels_Name
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    
    # 删除下载源
    conda config --remove channels channels_Name
    
    # 显示包的安装来源
    conda config --set show_channel_urls yes
    

    注: Conda のダウンロード ソースは、実際には .condarc ファイルに書き込まれます。

    • Linuxシステムのパスは次のとおりです。/home/xx/.condarc

    • Windowsシステムのパスは次のとおりです。C:\Users\admin\.condarc

      Windows にはデフォルトで .condarc ファイルがありません。conda config --set show_channel_urls yes によって生成する必要があります。

  • 他のコマンド

    # 检查conda版本
    conda --version
    # 查看conda系统版本等信息
    conda info
    # 查看conda所有配置信息
    conda config --show
    

IDEA が Conda 仮想環境を構成する

IntelliJ IDEA は、Python プラグインをインストールして有効にした後、Conda を使用して Python の仮想環境を作成することをサポートしています。

Conda 環境を作成します。

  1. Anaconda または Miniconda がコンピュータにダウンロードされ、インストールされていることを確認してください。

  2. ファイル | プロジェクト構造に移動します

    • 方法 1:ファイル>>>左上隅のプロジェクト構造
    • 方法 2: ショートカット キー: Ctrl+Shift+Alt+S

    ここに画像の説明を挿入

  3. プロジェクト構造」ダイアログの「プラットフォーム設定」セクションで「SDK 」を選択し、新しいSDKを追加して、ポップアップメニューから「Python SDK」を選択します。

    ここに画像の説明を挿入

  4. [Python インタープリターの追加]ダイアログの左側のペインで、[Conda 環境] を選択します。次のアクションは、Conda 環境が以前に存在していたかどうかによって異なります。

    新しい環境」を選択した場合:

    1. [場所]フィールドに新しい Conda 環境の場所を指定します。新しい Conda 環境を配置するディレクトリは空である必要があることに注意してください。
    2. Python バージョンのリストからPython バージョンを選択します
    3. [Conda実行可能ファイル] フィールドで Conda 実行可能ファイルの場所を指定します。
    4. 必要に応じて、「すべてのプロジェクトで利用可能にする」チェックボックスを選択します。

    [既存の環境]を選択した場合(推奨):

    1. [インタープリター]リストを展開し、既存のインタープリターを選択します。あるいは、クリックして「」を選択し、ファイル システム内の Conda 実行可能ファイルへのパスを指定します。C:\Users\jetbrains\Anaconda3\python.exe

      注: Conda ディレクトリ内の python.exe を使用するのが最善です。そうしないと、インストールされているサードパーティ ライブラリがスキャンされない可能性があります。

    2. [Conda実行可能ファイル] フィールドで Conda 実行可能ファイルの場所を指定します。

    3. 必要に応じて、「すべてのプロジェクトで利用可能にする」チェックボックスを選択します。

  5. 「OK」をクリックしてタスクを完了します。

おすすめ

転載: blog.csdn.net/footless_bird/article/details/132534764