[解決済み] Pythonにパッケージ/モジュール管理システムはありますか?
質問
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のパッケージマネージャ)のページと比較してみましょう。
-
https://rubygems.org/gems/rails
パッケージのRubyGemsページ
rails
-
https://www.npmjs.org/package/express
パッケージのNpmページ
express
-
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をインストールする方法を教えてください。 となります。
関連
-
opencvとpillowを用いた顔認証システム(デモあり)
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] 億の相対的輸入
-
[解決済み] Pythonモジュールをアンロード(再ロード)するにはどうしたらいいですか?
-
[解決済み] PythonモジュールとPythonパッケージの違いは何ですか?
-
[解決済み] pipを強制的に現在のバージョンに再インストールすることはできますか?
-
[解決済み] Pythonモジュールのソースの場所を見つけるにはどうしたらいいですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】RubyにあってPythonにないもの、またその逆は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonショートビデオクローラーチュートリアル
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み] Python 3でpipをインストールする方法は?