Pythonにはパッケージ/モジュール管理システムがありgem install packagename
ますか?Rubyにルビージェムができるのと同じように?
上のPythonモジュールのインストール、私だけへの参照を参照してくださいpython setup.py install
、それは最初のパッケージを見つけるためにあなたを必要とします。
Pythonにはパッケージ/モジュール管理システムがありgem install packagename
ますか?Rubyにルビージェムができるのと同じように?
上の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年間パッケージマネージャーに同梱されていなかった)はコミュニティに損害を与えました。以下で両方について説明します。
経験豊富なユーザーはこれらの不満を回避することができますが、Pythonを初めて使用する人にとっては大きな障害となることを理解することが重要です。実際、難しさと一般的なユーザーの不親しさは、それらの多くを阻止する可能性があります。
パッケージマネージャーを使用するすべての言語には、コミュニティがパッケージをダウンロードして公開するための公式(または準公式)リポジトリがあります。Pythonには、Pythonパッケージインデックス、PyPIがあります。 https://pypi.python.org/pypi
RubyGemsとNpm(Nodeパッケージマネージャー)のページと比較してみましょう。
rails
express
simplejson
RubyGemsとNpmのページはどちらも、パッケージの1行の説明で始まり、次に、パッケージのインストール方法をわかりやすく説明しています。
その間、単純にPyPIを閲覧する不幸なPythonユーザーにとっては悲惨です。でhttps://pypi.python.org/pypi/simplejson/、彼らはそのような有用な指示を見つけることでしょう。ただし、大きな緑色の「ダウンロード」リンクがあります。それに従うことは不合理ではありません。あは、クリック!彼らのブラウザは.tar.gz
ファイルをダウンロードします。多くのWindowsユーザーはそれを開くことさえできませんが、忍耐強い場合、最終的にはそれを抽出し、実行してsetup.py
、最終的にはGoogleの助けを借りることができますsetup.py install
。一部はあきらめて、車輪を再発明します。
もちろん、これはすべて間違っています。最も簡単なパッケージをインストールする方法はピップコマンドです。しかし、PyPIはPipについてさえ言及していませんでした。代わりに、それは彼らを古くて退屈な道に導きました。
NumpyはPythonで最も人気のあるライブラリの1つです。Pipでインストールしようとすると、次のような不可解なエラーメッセージが表示されます。
エラー:vcvarsall.batが見つかりません
スタックオーバーフローで最もよくある質問の1つである修正しようとしています:「エラー:vcvarsall.batが見つかりません」
成功する人はほとんどいない。
比較のために、同じ状況で、Rubyはこのメッセージを出力します。これは、何が起こっているのか、そしてそれを修正する方法を説明しています。
ビルドツールを含めるようにPATHを更新するか、http: //rubyinstaller.org/downloadsからDevKitをダウンロードして、http://github.com/oneclick/rubyinstaller/wiki/Development-Kitの指示に従ってください
RubyとNodejsには、フル機能のパッケージマネージャーであるGem(2007年以降)とNpm(2011年以降)が同梱されており、GitHubを中心とした共有コミュニティを育んでいます。Npmを使用すると、パッケージをインストールするのと同じくらい簡単に公開できます。すでに64kのパッケージがあります。RubyGemsは72kパッケージをリストしています。由緒あるPythonパッケージインデックスは41kのみをリストします。
「バッテリーを含む」というモットーに直面して、Pythonはパッケージマネージャーなしで2014年まで出荷されました。
ピップまで、事実上の標準はコマンド easy_install
でした。それはひどく不十分でした。パッケージをアンインストールするコマンドはありませんでした。
ピップは大幅な改善でした。RubyのGemのほとんどの機能を備えていました。残念ながら、Pipは(最近まで)皮肉にもインストールが困難でした。実際、問題はStack OverflowでPythonの一番の質問のままです:「Windowsにpipをインストールするにはどうすればよいですか?」
gem install X
すれば素晴らしいことだと思います。すべてのプラットフォームで動作するようです。では、WindowsでCコードのコンパイルを必要とする宝石の場合、どうやってこれを管理したのでしょうか
Python Package Index(PyPI)は標準のようです:
pip install MyProject
pip install --upgrade MyProject
pip install MyProject==1.0
次のようにパッケージマネージャーをインストールできます。
curl -O http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip
参照:
そして、コントラストを与えるために、pipもあります。
RubyとPerlの開発者であり、Pythonの学習者である私は、easy_installやpipがRubyGemsやCPANに相当することを知りませんでした。
開発者がモジュールを更新する間、開発システムで最新バージョンのモジュールを実行し続け、本番システムを設定されたバージョンでフリーズする傾向があります。RubyGemsとCPANはどちらも、利用可能なものをリストして簡単にモジュールを見つけてから、必要に応じてそれらを個別に、または一括でインストールおよび更新します。
easy_installとpipは、モジュールを簡単にインストールできるようにします。ブラウザ検索で見つけたモジュールや、他の方法でモジュールについて学習したものですが、何が利用できるかはわかりません。更新するモジュールに明示的に名前を付けることはできますが、アプリは何が更新されたかを知らせず、必要に応じてすべてを一括で更新することもありません。
したがって、pipとeasy_installには基本的な機能がありますが、CPANやRubyGemsと同じように使いやすく、使いやすくするために欠けている機能がいくつかあります。
easy_installとその後継のpipが少なくとも2つあります。
2014年後半以降、Continuum Analyticsのconacパッケージマネージャーを備えたAnaconda Pythonディストリビューションを検討する必要があります。一般的なPythonで発生する深刻な問題のほとんど(さまざまなPythonバージョンの管理、Pythonバージョンの更新、パッケージ管理、仮想環境、Windows / Mac互換性)を1つのまとまったダウンロードで解決します。
これにより、システムをまったく変更する必要なく、Pythonで実行できるほとんどすべてのことを実行できます。次に推奨される解決策はpip + virtualenvですが、virtualenvをシステムPythonにインストールする必要があります(システムPythonが必要なバージョンではない場合があります)。ソースからビルドする必要があります。Anacondaは、このプロセス全体をボタンをクリックするだけでなく、他の多くの機能を追加します。
それはeasy_installです。
easy_install
、最初に日付を確認してください。それはそれがほぼ7年前に与えられたときに有効なアドバイスでした。回答者が定期的にこれを更新して更新することはないと思いますので、反対投票はばかげています。
これはsetuptoolsと呼ばれます。「easy_install」コマンドで実行します。
このディレクトリはhttp://pypi.python.org/にあります。
MacPortsもHomebrewも他の回答でここに記載されていませんが、関連する質問についてStack Overflowの他の場所で言及されているので、多くの人がMacPortsをパッケージだけではないと見なしているように思われる0.02ドルを追加します一般的なパッケージのマネージャー(今日の時点では、16311のパッケージ/ポート、2931に一致する "python"がリストされていますが、Macの場合のみです)だけでなく、Pythonパッケージ/モジュールのまともな(多分、より良い)パッケージマネージャーとしても表示されます。
「... Mac python開発者がモジュールを管理するために使用する方法は何ですか?」
「Mac(Linuxとは異なり)にはパッケージマネージャーが付属していませんが、インストールできる人気のパッケージマネージャーがいくつかあります。Macports...」
私はまだMacPortsを自分で使用するかどうかについて議論していますが、現在はその方向に傾いています。
pip install <your_favorite_package>
Windowsでは、http://chocolatey.org/をインストールしてから
choco install python
更新されたPATHで新しいcmd-windowを開きます。次に、
choco install pip
その後できます
pip install pyside
pip install ipython
...
ここではpipenvについて誰も触れていないため、誰もがpythonパッケージの管理にそれを使用する必要がある理由について、私の見解を述べたいと思います。
@ColonelPanicが言及したように、Pythonパッケージインデックス、およびpipとvirtualenvにもいくつかの問題があります。
Pipenvはpipの問題のほとんどを解決し、追加機能も提供します。
Pipenvは、pipとvirtualenvを置き換えることを目的としています。つまり、pipenvはすべてのプロジェクトに対して個別の仮想環境を自動的に作成し、異なるプロジェクトの異なるpythonバージョン/パッケージバージョン間の競合を回避します。
以前にpythonプロジェクトに取り組んだことがあれば、これらの機能によりパッケージの管理がはるかに簡単になることに気付くでしょう。
check
セキュリティの脆弱性をチェックし、PEP 508の要件が現在の環境で満たされていることをアサートします。(これは特にこの後の素晴らしい機能だと思います-PyPiの悪意のあるパッケージ)graph
インストールされている依存関係の依存関係グラフが表示されます。詳細については、こちら-Pipenvをご覧ください。
あなたはここにインストールドキュメントを見つけることができます
PS:Pythonパッケージリクエストでの作業が好きなら、pipenvは同じ開発者のKenneth Reitzによるものであることを知って喜んでいます。
詩はあなたが探しているものです。実行中の依存関係管理、仮想環境を処理します。