最も完全なピップガイドを[ターン]、あなたは50%に使用されていない可能性があります

最も完全なピップガイドを[ターン]、あなたは50%に使用されていない可能性があります

すべてのPythonの開発者は、多くの高レベルの言語がなく、原因より完全な生態のPythonに、簡単に外に使用する、シンプルな文法に加えて、前面に来ることができるPythonはとても人気があり、認識している、Pythonの数万のがありますPythonベースの愛好家は、パッケージの発展に資するサードパーティ製のさまざまなツールをパッケージ化して喜んでいます。

私たちは、基本的なニーズを満たすために最速のスピードにプロジェクトの開発を使用することができ、常にではありませんでしたというホイールを繰り返し作成します。

Pythonは、それが数十サードパーティ製のパッケージの何千ものを生産している時に、過去28年間、現在に1991から生まれた、各パッケージは常に更新され、より多くのバージョンが存在します。

あなたは、複雑なプロジェクト環境にある場合、有効な依存関係管理プログラムが存在しない場合は、プロジェクトのメンテナンスが大きな問題となります。

ピップは、ほとんどの開発者の目には、公式の推奨パッケージ管理ツールで、ピップほとんどPythonの標準。

もちろん、他のパッケージ管理ツールがあります

  • distutilsの唯一のパッケージとインストールのため、厳密に言えば、ないパッケージ管理ツール:

  • setuptoolsの:バージョンはパッケージの依存関係管理の導入、より多くの機能を提供する、のdistutilsを拡張強化のdistutils、easy_installをそれは、コマンドラインツール、導入卵のファイル形式であるということです。

  • Pipenv:依存関係管理(PIP)と仮想環境の管理(virtualenvの)ツールのセット

  • 他のがありますが、ここではそれらは表示されません。

今日の主人公はピップですが、私はあなたが不慣れではないと確信しています。しかし、私は多くの人々を信じて、私は公式の文書へのアクセスを持っている、いくつかの一般的な使用法に精通し、かつ他のいくつかの低周波数および実用化のためのものですが、少しはこの2日間について知られている、これらの使用は整理、ネットワークはする必要があります全体の比較のプレゼンテーション。

1.お問い合わせパッケージ

現在の環境でクエリのすべてのインストール済みパッケージ

$ pip list

クエリは、PyPIの名前を含むパッケージ

$ pip search pkg

クエリ環境は、現在のパッケージをアップグレードします

$ pip list --outdated

のパッケージのクエリの詳細

$ pip show pkg

2.ダウンロードパッケージ

ローカルへのインストールパッケージのダウンロードパッケージなし

$ pip download --destination-directory /local/wheels -r requirements.txt

ダウンロードされた、私は、恐怖設置するには、は、PyPIからインストールせずにパッケージをインストールするディレクトリを指定することができます。

$ pip install --no-index --find-links=/local/wheels -r requirements.txt

もちろん、あなたも独自のビルドファイル世代ホイールからパッケージをダウンロードすることができます

$ pip install wheel
$ pip wheel --wheel-dir=/local/wheels -r requirements.txt

パッケージをインストールします3。

使用して、pip install <pkg>簡単には、PyPI検索からダウンロードされ、Pythonパッケージをインストールすることができます。

以下

$ pip install requests

これは、インストールパッケージの基本的な形式である、我々はまた、異なる効果を達成するために多くのパラメータを追加することができます。

PyPIからインストールせずにローカルインストールから3.1、

# 前提你得保证你已经下载 pkg 包到 /local/wheels 目录下
$ pip install --no-index --find-links=/local/wheels pkg

3.2限定版のパッケージのインストール

以下は、パッケージがバインドされた単一のpython 3つのバージョンです

# 所安装的包的版本为 2.1.2
$ pip install pkg==2.1.2

# 所安装的包必须大于等于 2.1.2
$ pip install pkg>=2.1.2

# 所安装的包必须小于等于 2.1.2
$ pip install pkg<=2.1.2

次のコマンドは、Python環境の全体のパックのバージョンを管理/制御するために使用されています

# 导出依赖包列表
pip freeze >requirements.txt

# 从依赖包列表中安装
pip install -r requirements.txt

# 确保当前环境软件包的版本(并不确保安装)
pip install -c constraints.txt

3.3制限なしのバイナリインストールパッケージ

状況がプラットフォームに対応していないので、デフォルトのプラットフォームのホイールパッケージは、PIPダウンロードコマンドを実行するためのプラットフォームであることから発生する可能性があります。

例えばpymongo-2.8-CP27-なし-macosx_10_10_intel.whlがlinux_x86_64にインストールすることができないMacOSのシステムで得られました。

ダウンロードされ、次のコマンドのtar.gzパッケージを使用して、インストールがインストールPIPを直接使用することができます。

ホイールパッケージより、このパッケージは、インストール時に、それは長い時間をコンパイルされます。

# 下载非二进制的包
$ pip download --no-binary=:all: pkg

# 安装非二进制的包
$ pip install pkg --no-binary

3.4インストールプロキシサーバーを指定します

あなたは、ネットワーク環境にいるとき、あなたは直接、パブリックネットワークに接続することはできません。あなたが使用今回pip installインストールパッケージは、それが失敗します。

このような状況に直面して、2つの方法があります。

  1. ネットワーク内のマシンにインストールされているオフラインのダウンロードパッケージにコピー
  2. プロキシサーバは要求を転送使用

最初のアプローチ、実現可能なものの、しかし、かなりの数の欠点があります

  • ステップは、複雑で時間がかかり、労働集約
  • 私たちは、パッケージの依存関係を扱うことができません

ここでは第二の方法を紹介するフォーカス:

$ pip install --proxy [user:passwd@]http_server_ip:port pkg

たびに、設定ファイルを書き込むことができるため、長い、やや面倒な入力パラメータを送信するためにインストールパッケージ:$HOME/.config/pip/pip.conf

このパスのために、いくつかのを説明します

  • 異なるオペレーティングシステム、異なるパス
# Linux/Unix:
/etc/pip.conf
~/.pip/pip.conf
~/.config/pip/pip.conf
 
# Mac OSX:
~/Library/Application Support/pip/pip.conf
~/.pip/pip.conf
/Library/Application Support/pip/pip.conf
 
# Windows:
%APPDATA%\pip\pip.ini
%HOME%\pip\pip.ini
C:\Documents and Settings\All Users\Application Data\PyPA\pip\pip.conf (Windows XP)
C:\ProgramData\PyPA\pip\pip.conf (Windows 7及以后) 
  • あなたのマシン上でこのファイルがなければ、あなた自身を作成することができます

サンプルのために、ここで、どのように設定するには:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/ 

# 替换出自己的代理地址,格式为[user:passwd@]proxy.server:port
proxy=http://xxx.xxx.xxx.xxx:8080 

[install]
# 信任阿里云的镜像源,否则会有警告
trusted-host=mirrors.aliyun.com 

3.5ユーザーは、独自のソフトウェアパッケージをインストール

知らないかもしれない多くの人々は、Pythonのインストールパッケージは、ユーザーから単離することができます。

あなたが管理者権限を持っている場合は、地球環境にパッケージをインストールすることができます。地球環境でのこのパッケージには、マシンの管理者権限を持つすべてのユーザーが使用することができます。

勝手にマシンだけでなく、上のユーザーが、地球環境にパッケージをインストールまたはアップグレードする場合は、それは無責任で危険な習慣です。

我々はそれを私たちの使用のために別のパッケージをインストールしたいかどうか、このような状況に直面して?

幸いなことに、そこに本当に。

私は考えることができる2つの方法があります。

  1. 仮想環境を使用します
  2. ユーザーの環境にインストールされたパッケージ

仮想環境、前に書かれたいくつかの記事は、もはやここで展開して話しません。

今日の焦点は、独自のユーザーパッケージをインストールする方法をお教えし、第二の方法でありますか?

コマンドは非常に簡単です、ただ追加--userのパラメータを、ピップは、現在のユーザーにインストールされます~/.local/lib/python3.x/site-packages、他のユーザーは、Pythonの影響を受けません。

pip install --user pkg

例を挙げる

# 在全局环境中未安装 requests
[root@localhost ~]# pip list | grep requests   
[root@localhost ~]# su - wangbm
[root@localhost ~]# 

# 由于用户环境继承自全局环境,这里也未安装
[wangbm@localhost ~]# pip list | grep requests 
[wangbm@localhost ~]# pip install --user requests  
[wangbm@localhost ~]# pip list | grep requests 
requests (2.22.0)
[wangbm@localhost ~]# 

# 从 Location 属性可发现 requests 只安装在当前用户环境中
[wangbm@ws_compute01 ~]$ pip show requests
---
Metadata-Version: 2.1
Name: requests
Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: [email protected]
Installer: pip
License: Apache 2.0
Location: /home/wangbm/.local/lib/python2.7/site-packages
[wangbm@localhost ~]$ exit
logout

# 退出 wangbm 用户,在 root 用户环境中发现 requests 未安装
[root@localhost ~]$ pip list | grep requests
[root@localhost ~]$ 

あなたは、個々のユーザー環境にいる場合は、pythonのパッケージには、まず現在のユーザー環境がインストールされているかどうかを取得します行う際に、このパッケージがインストールされている、優先し、地球環境のパッケージを使用してインストールされていません。

次の点を確認します。

>>> import sys
>>> from pprint import pprint 
>>> pprint(sys.path)
['',
 '/usr/lib64/python27.zip',
 '/usr/lib64/python2.7',
 '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk',
 '/usr/lib64/python2.7/lib-old',
 '/usr/lib64/python2.7/lib-dynload',
 '/home/wangbm/.local/lib/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/pip-18.1-py2.7.egg',
 '/usr/lib/python2.7/site-packages/lockfile-0.12.2-py2.7.egg']
>>> 

4.パッケージのアンインストール

これは、コマンドで、それらを繰り返しません

$ pip uninstall pkg

パッケージをアップグレード5.

既存のpythonをアップグレードしたい、その本質は、ダウンロードは、PyPIにパッケージの最新バージョンを起動し、それをインストールすることです。アップグレードが使用されるようにpip install、単にパラメータを追加します--upgrade

$ pip install --upgrade pkg

アップグレードは、また、非常に使用するオプションがある場合--upgrade-strategy、アップグレード戦略を指定するために使用されます。

それは2つのだけのオプションです。

  • eager :すべての依存関係をアップグレード
  • only-if-need:古いバージョンが新しい親の依存関係に適合していない場合にのみ、アップグレードされます。

PIPバージョン10.0の後、このオプションのデフォルト値がされonly-if-need、書かれたので、以下の2がで交換されます。

pip install --upgrade pkg1 
pip install --upgrade pkg1 --upgrade-strategy only-if-need

上記は、利便性のために、ほぼすべての一般的な使用シナリオピップを含み、私はあなたがしたい場合、あなたは(時間をプログラミングPythonの)私の公共の数に焦点を当てることができ、テーブルにそれを組織する、舞台裏の返信「ピップ」、あなたは透かし画像なしでHDを得ることができます。

 

おすすめ

転載: www.cnblogs.com/langqi250/p/11809839.html