Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
65
Help us understand the problem. What is going on with this article?
@ksato9700

Python3.4からpipが標準インストーラに!?

More than 5 years have passed since last update.

Rubyにはgem、Node.jsにはnpmがあるが、元々Pythonにはパッケージマネージャは無かった。

それがいつの頃からか、easy_installなるものが現れ、さらにpipが作られた。今ではpipがほぼデファクトとなりつつあるけど、後付でインストールするパッケージの一つという位置づけは変わらない。箱を開けたら直ぐに使えるという意味で "Batteries included" を標榜しているPythonとしてはちょっと寂しい。

その状況をなんとかしようということでPEP-453 Explicit bootstrapping of pip in Python installationsが提案されている。「pipをPython 2.7, 3.3 及び3.4の公式推奨デフォルトインストーラとしよう」という提案で、3.4から実際に標準搭載されるらしい。Pythonをインストールするとpipコマンドが同時にインストールされるのかと思いきやちょっと違うっぽいのでここにメモ。

まず、3.4で追加されるのが "ensurepip"というモジュール。でこれが何をするかというと、まぁ名前のとおりなのだが「pipが入っている事を確実にする」(変な日本語だな...)。

具体的には

$ python3.4 -m ensurepip

とすると

  • pipがインストールされていない場合はpipをインストール
  • 既にインストールされている場合はなにもしない

という挙動らしい。そして既にインストールされていてもpython3.4に付いてくるものの方が新しくてそれに置き換えたい場合は

$ python3.4 -m ensurepip --upgrade

とする。ちなみにこのpipのインストールの時にネットワークアクセスはない。つまり、Pythonの標準パッケージにpipを同梱して配る。でもデフォルトではインストールせずに上記のコマンドを叩くと必要に応じてインストールすると。なんという奥ゆかしさwww

せっかくなので試してみようと思って最新の3.4.0a4で確認してみたが、"No module named ensurepip"とのこと orz..

PEP-429 Python 3.4 Release Scheduleによるとbeta1が11/24。そこにはきっと入るだろうが、そこまではお預けってことかな。

65
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
caddi
製造業の受発注プラットフォーム「CADDi」を提供しています。 モノづくりに携わるすべての人が、本来持っている力を最大限に発揮できる社会を実現する。産業の常識を変える「新たな仕組み」をつくります。 「CADDi」は金属加工品のCAD・設計図の解析から複雑な物流を表現するUIまで幅広い開発をしており、常に開発環境に最新の技術をとり入れて、より良いプロダクトを作るように心がけております。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
65
Help us understand the problem. What is going on with this article?