1. ホーム
  2. python

[解決済み] Pythonにパッケージ/モジュール管理システムはありますか?

2022-05-12 22:52:20

質問

Pythonにはパッケージやモジュールの管理システムはありますか? gem install packagename ?

オン Pythonモジュールのインストール への参照しか見当たりません。 python setup.py install しかし、そのためには、まずパッケージを見つける必要があります。

解決方法は?

最近の進捗状況

2014年3月 : 朗報です! Python 3.4 はPipを同梱しています。Pip は長い間 Python のデファクトスタンダードパッケージマネージャでした。インストールは パッケージ のようなものです。

pip install httpie

わっはっはっは これはPythonのリリースで最も優れた機能です。コミュニティの豊富なライブラリに誰でもアクセスできるようになるのです。初心者はもう、セットアップの難しさによってコミュニティ・ライブラリの利用から排除されることはありません。

しかし Pythonのパッケージングには、まだ多くの不満が残っています。それらが積み重なると、Pythonを初心者にとって非常に不愉快なものにしてしまいます。また、長い間放置されてきたこと(例えば、Python 2.0 から Python 3.3 までの14年間、パッケージマネージャを同梱していなかった)が、コミュニティにダメージを与えています。この2つについて、以下に説明します。

顕著な不満点

経験豊富なユーザーであれば、これらのフラストレーションを回避することができますが、Pythonを初めて使う人にとっては大きな障壁になることを理解することが重要です。実際、その難しさと一般的な使いにくさから、多くの人が敬遠する可能性があります。

PyPIウェブサイトは逆援助的である

パッケージマネージャを持つすべての言語には、コミュニティがパッケージをダウンロードしたり公開したりするための公式 (または準公式) リポジトリがあります。Python には Python Package Index, PyPI があります。 https://pypi.python.org/pypi

RubyGemsやNpm(Nodeのパッケージマネージャ)のページと比較してみましょう。

  1. https://rubygems.org/gems/rails パッケージのRubyGemsページ rails
  2. https://www.npmjs.org/package/express パッケージのNpmページ express
  3. https://pypi.python.org/pypi/simplejson/ このパッケージのPyPIページ simplejson

RubyGems と Npm のページでは、パッケージの説明が一行で始まり、その後にインストール方法が大きく親切に説明されているのがわかります。

一方、素朴にPyPIにアクセスした不運なPythonユーザーには災難でした。一方 https://pypi.python.org/pypi/simplejson/ しかし、そのような親切な説明はありません。しかし、大きな緑色の「ダウンロード」リンクがあります。それに従うのは無理からぬことです。そして、クリックするのです。ブラウザがダウンロードするのは .tar.gz ファイルを作成します。多くのWindowsユーザーはそれを開くことさえできないが、辛抱強く続ければ、最終的にそれを解凍し、次に setup.py で、最終的にはGoogleの力を借りて setup.py install . あきらめて車輪の再発明をする人もいるでしょうが...。

もちろん、これらはすべて間違いです。その 最も簡単 パッケージをインストールする方法は、Pipコマンドです。しかし、PyPIはPipについて触れてもいませんでした。その代わりに、古風で退屈な道を案内していました。

エラーです。vcvarsall.bat を見つけることができません。

NumpyはPythonの最も人気のあるライブラリの1つです。Pipでインストールしようとすると、この不可解なエラーメッセージが表示されます。

エラーです。vcvarsall.bat を見つけることができません。

それを解決しようとすると、Stack Overflow で最も人気のある質問の 1 つである " のエラーが発生しました。vcvarsall.bat を見つけることができません。 "

成功する人はほとんどいない。

比較のために、同じ状況でRubyはこのようなメッセージを出力し、何が起こっているのか、どうすれば解決できるのかを説明します。

<ブロッククオート

ビルドツールが含まれるようにPATHを更新するか、次のサイトからDevKitをダウンロードしてください。 http://rubyinstaller.org/downloads での指示に従います。 http://github.com/oneclick/rubyinstaller/wiki/Development-Kit

パッケージの発行は難しい

RubyとNodejsには、Gem(2007年~)とNpm(2011年~)というフル機能のパッケージマネージャが同梱されており、GitHubを中心とした共有コミュニティが育っている。Npmは パブリッシングパッケージ をインストールするのと同じくらい簡単に、すでに 64kパッケージ . RubyGemsのリスト 72kパッケージ . Python のパッケージインデックスには、次のようなものがあります。 41kのみ .

沿革

その"に飛びつく。 バッテリー付属 をモットーに、2014年までPythonはパッケージマネージャなしで出荷されていました。

Pip まで、デファクトスタンダードは、コマンド easy_install . しかし、これは非常に不十分なものでした。パッケージのアンインストールを行うコマンドはなかったのです。

Pipは大幅に改善されました。RubyのGemの機能のほとんどを備えていたのです。残念ながら、Pipは--つい最近まで--皮肉にもインストールが困難でした。実際、この問題は Stack Overflow で Python のトップクラスの質問として残っています: " Windowsにpipをインストールする方法を教えてください。 となります。