2016-08-15 16 views
1

Python 2.7.12用のすべてのモジュールをpipコマンドを使ってインストールしたいと思います。すべての単一パッケージ名を指定する必要なしにこれを行う方法はありますか?pipを使って一度にすべてのpythonモジュールをインストールする方法はありますか?

+0

なぜあなたはそれを望みますか?私には恐ろしく余計に見えます。 –

+3

@rsnaveen:「すべての利用可能なモジュール」はあなたにとって何を意味しますか?要件ファイル 'pip install -r requirements.txt'からインストールできます。また、インストールされているすべてのパッケージをリストし、それを要件ファイルに入れることもできます: 'pip freeze> requirement.txt'。 –

+0

'pip install ...'あなたがパッケージの定義済みのリストを持っていることを除いて、すべての可能なパッケージをインストールすることはできません –

答えて

7

圧倒的にサポートされているベストプラクティスはrequirements.txtファイルを使用して、具体的にインストールするパッケージをリストすることです。

pip install -r requirements.txtでインストールし、プロジェクト用のすべてのパッケージをインストールします。

これは、いくつかの利点があります:あなたは本当には(全てのPythonパッケージをインストールしたくない場合があることに注意してください、しかし

  • 必要なパッケージのみ
  • をインストールすることによって再現簡潔

)は、次の方法で変更できます。

ピップ検索* | grep ")[[:space:]]" |それはあなたのシステムに恐ろしい事をする可能性がありますよう、それはごとのpythonパッケージ(と、なぜそれがスポイラータグにあります)をインストールしようとすると、私は強く、この反対をお勧めします-f1 -d」 "

を切りました。

+8

私はそれを言う。あなたの夢を夢にさせないでください。 –

+0

@enderland次のエラーが発生しました 'grep:' grep 'という用語は、コマンドレット、関数、スクリプトファイル、または動作可能なプログラムの名前として認識されません。 の名前の綴りを確認するか、パスが含まれている場合は、パスが正しいことを確認してから、もう一度やり直してください。 行目:1文字:16 +ピップ検索* | grep ")[[:space:]]" | (grep:String)[]、CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException ' – rsnaveen

+0

grepはWindows上では動作しないと思います(明白な理由から)。ところで、Windowsを使用しているときに、なぜUbuntu @rsnaveenにタグを付けましたか? –

2

これはひどい考えですが、いつでもautoinstallerを使用することができます。インストールされていない場合はpipで自動的にパッケージをダウンロードします。

0

UPDATE:その固定された古い必要な依存関係は、他で更新されているので、私はこの方法を使用してインストールしたパッケージの一部が動作しません:彼らは、これはひどいアイデアだと言ったとき他の回答が右ましたパッケージ。次回は、virtualenvを使っています。ある日、私はpackages.pypy.orgから依存関係を持つパッケージのリストを作成して、誰かがそれらのパッケージですばやく多くの環境を作れるようにします。


まあ、私はこれを行う方法を見つけましたが、唯一のhttp://packages.pypy.orgで1000の最も人気のあるパッケージ。しかし、他のページも処理することができます、それはちょうどいくつかの創造性が必要です。そのページには、ページを処理するためのスプレッドシートプログラムが必要です。私はLibreOffice Calcを使用しました。そして、私はコマンドプロンプトを使ってウィンドウでこれをやりました。

最初に投稿したリンクを開き、すべてのテキストを選択/コピーします(ウェブページ上のパッケージ名は展開しないでください)。

次に、Calcの任意のセルに貼り付けます。 Find & Replaceダイアログを開きます。別のスプレッドシートプログラムを使用する場合は、Find & Replaceがregexpsをサポートしていることを確認してください。 Regular Expressions(またはそのようなもの)の横にあるチェックボックスを選択し、Search forフィールドにdownloads:\s+\d+と入力し、Replace withフィールドにテキストがないことを確認して、他のすべてのオプションをデフォルトのままにして、Replace allをクリックします)。その後、Search forフィールドのスペースで別の置き換えを行うことで、末尾の空白を取り除くことができます(Pythonパッケージ名には空白がありません)。これらの2つの置換を実行すると、各セルにパッケージ名があります。

次に、スプ​​レッドシート全体をテキストエディタにコピーすると、エディタが動作するはずです(メモ帳を使用しました)。テキストエディタは、各セルの内容(すなわちパッケージ名)をそれ自身の行に入れる。ファイルには空白行はありません(しかし、チェックするのは害ではありません)。この時点でスプレッドシートを閉じることができます。データを保存する必要はありません。

テキストファイルを保存します。コマンドプロンプトを開き、テキストファイルを保存したフォルダに移動します。今入力します。

for /F %p in ('type TEXT_FILE_NAME.txt') DO pip.exe install %p 

[コマンドプロンプトを使用する権利ピップを見つけることができない場合は、例えばピップする完全なパスを入力する必要がありますC:\ Python27 \ Scripts \ pip.exe]

私は与えたリンクに記載されているすべてのパッケージをインストールしています。

コマンドプロンプトに大きなヒストリバッファがないため、stdout(およびstderrも)をファイルにリダイレクトする必要があります。そのためには、コマンドの最後に、このようなものを置く:

>>PIP_STDOUT_FILE.txt 2>>PIP_STDERR_FILE.txt 

出力はもはや端末に行くので、あなたがこれを使用する場合、急激ピップを中断することには注意が必要ありません。あなたはパッケージのインストールの途中でそれを強制終了するかもしれません。特に、テキストエディタを使用して出力を表示する場合は、頻繁にファイルをリロードしてください。上記の代わりに--log LOG_FILE.txtを追加する方が安全ですが、ログファイルはより冗長になり、いつものようにメッセージをコマンドプロンプトに書き出します。

のかなりの数があります

  1. のLinux専用のMicrosoft C++コンパイラでビルドされた
  2. パッケージをパッケージ化し

とあなたには、いくつかの追加の作業を行う場合を除き、これらは失敗しますインストールするには、ピップを使用して。しかし、これは大多数のパッケージでうまくいくはずです。

関連する問題