Pythonサードパーティ製ライブラリとパッケージマネージャ

4280 ワード

ほとんどの言語に比べて、Pythonには大規模な標準ライブラリがあります.実際、Pythonは「バッテリー付き」と言われていますが、Pythonには適切な作業に必要なライブラリがあるからです.しかし、標準ライブラリには必要なものはすべてありません.標準ライブラリでは、専門的なタスクはサポートされていません.しかし、独立した開発者が何千ものサードパーティライブラリを作成しています.PyPiランキングで最も人気のあるサードパーティライブラリのリストを参照できます.
Python自体にこれらのパッケージが含まれていない場合は、どのように入手すればいいのでしょうか.私たちはpipを使ってライブラリ、Python 3が持っているパッケージマネージャをインストールすることができます.Python 2ユーザーもpipを使用していますが、Python 2は持参していないので、個別にインストールする必要があります.Python 2とPython 3が同時にインストールされている場合、それぞれにpipがあり、コマンドpip 2とpip 3で区別できます.
pipはPythonの標準パッケージマネージャですが、唯一のマネージャではありません.一般的な選択肢は、データ科学者や類似のユーザーのために設計されたAnacondaです.一般的な基準に属するためpipについて説明します.
pipを使用してパッケージをインストールする
pipを使用してpytzライブラリをインストールします.Python 3のインストールに関連するpipを使用していることを確認するために、コマンドpip 3を使用します.pytzはタイムゾーンに関連するライブラリであり、タイムゾーン処理は非常に複雑なタスクである.pip 3コマンドラインを使用してpytzをインストールできます.
$ pip3 install pytz

このコマンドは、プログラムをインポートするためにpytzをダウンロードしてインストールします.インストールが完了すると、標準ライブラリからインポートするのと同じ構文を使用してサードパーティ製パッケージをインポートできます.この例では、pytzおよびdatetimeを標準ライブラリからインポートします.標準的な方法は、サードパーティ製ライブラリにインポートされた文を、標準ライブラリにインポートされた文の後ろに置くことです.
from datetime import datetime

import pytz

utc = pytz.utc # utc is Coordinated Universal Time
ist = pytz.timezone('Asia/Kolkata') #IST is Indian Standard Time

now = datetime.datetime.now(tz=utc) # this is the current time in UTC
ist_now = now.astimezone(ist) # this is the current time in IST.

この例は、変数nowに現在の時間を格納するように、世界を調整するとき(Coordinated Universal Time)表現である.その後、この時間をインド標準時間(Indian Standard Time)に変換し、変数ist_nowに格納する.
有用なサードパーティ製パッケージ
サードパーティ製ライブラリのインストールとインポートのスキルを身につけると役立ちますが、効率的なプログラマーになるには、どのライブラリが自分で使用できるかを知る必要があります.人々は通常、ネット上の推薦や同僚の推薦を通じて、役に立つ新しいライブラリを理解します.もしあなたが新しいPythonプログラマーであれば、まだ多くの同僚を知らないかもしれませんが、ここから自分のプログラマー生活を開きます.これはUdacityでエンジニアに人気のあるパッケージのリストです.
  • 1.IPython-より良いインタラクティブなPython解釈器
  • 2.requests-Webリクエストを作成する簡単な方法を提供し、Web APIにアクセスします.
  • 3.Flask-WebアプリケーションとAPIを作成するための軽量レベルのフレームワーク.
  • 4.Django-Webアプリケーションの特色あるフレームワークを作成します.Djangoは、設計が複雑でコンテンツが重いWebアプリケーションに特に適しています.
  • 5.Beautiful Soup-HTMLを解析して情報を抽出します.特にネットワークキャプチャに適しています.
  • 6.pytest-Pythonの内蔵アサーション(assertion)とunittestモジュールを拡張します.
  • 7.PyYAML-YAMLファイルの読み取りと作成に使用します.
  • 9.NumPy-Pythonを使用して科学計算を行うベースパッケージで、他の機能に加えて、強力なN次元配列オブジェクトと有用な線形代数機能も含まれています.
  • 10.pandas-高表現力、データ構造、およびデータ分析ツールを含むライブラリ.特に、pandasはDataFrameデータ構造を提供しています.
  • 11.matplotlib-インタラクティブな環境で様々なハードコピーフォーマットの出版物品質図を生成するための2 Dグラフィックスライブラリ.
  • 12.ggplot-Rベースのggplot 2ライブラリの別の2 Dグラフィックスライブラリ.
  • 13.Pillow-Pythonイメージライブラリは、Python解釈器に画像処理機能を追加します.
  • 14.pyglet-ゲーム開発に使用されるプラットフォーム間アプリケーションフレームワーク.
  • 15.Pygame-ゲームを作成するためのPythonモジュールの集合.
  • 16.pytz-Pythonのワールドタイムゾーン定義
  • requirements.txt
    大きなPythonプログラムは、数十個のサードパーティ製パッケージに依存する可能性があります.これらのプログラムを容易に共有するために、プログラマーは通常requirementsという名前で使用します.txtのファイルには、プロジェクトの依存項目がリストされます.これはrequirementsです.txtファイルの例:
    beautifulsoup4==4.5.1
    bs4==0.0.1
    pytz==2016.7
    requests==2.11.1

    ファイルの各行には、パッケージの名前とバージョン番号が含まれています.バージョン番号は技術的にはオプションですが、通常は含まれる必要があります.ライブラリはバージョン間でわずかに変更(または大幅に変更)される可能性があるため、プログラマがプログラムを作成するときに使用する同じライブラリバージョンが重要です.
    pipを使用して、次のコマンドでプロジェクトのすべての依存項目を一度にインストールできます.
    $ pip3 install -r requirements.txt