web-dev-qa-db-ja.com

pip / easy_installなしでpypiモジュールを手動でインストールする方法は?

gntp module を使用して、C/C++ソフトウェアのトースターのような通知を表示したい。ソフトのすべての依存関係をパッケージ化して、別のコンピューターで自己実行可能にします。

Gntpモジュールは、使用できないpipインストーラーからのみ使用できます(ソフトを実行しているコンピューターにはインターネット接続がありません):どうすればソースからインストールできますか?

ユーザーにeasy_install/pipのインストールを強制せずに、%PATHにpipパスを手動で追加することを希望します。

PS:WindowsマシンでPython 2.7を使用しています。

66
lucasg
  1. パッケージをダウンロードする
  2. 圧縮されている場合は解凍します
  3. setup.pyを含むディレクトリにcdします
  4. ここに含まれるドキュメントにインストール手順が含まれている場合は、その他の指示を読んでそれに従ってください。
  5. python setup.py installと入力します

手順5で管理者権限が必要になる場合があります。このため、ここで行うことはオペレーティングシステムによって異なります。たとえば、UbuntuではSudo python setup.py installと言います

編集-kwatfordに感謝(最初のコメントを参照)

上記の手順5で管理者権限の必要性をバイパスするには、-userフラグを使用できる場合があります。この方法では、現在のユーザーのみにパッケージをインストールできます。

ドキュメントは言う:

ファイルは、site.USER_BASEのサブディレクトリにインストールされます(以降、userbaseとして記述されます)。このスキームは、純粋なPythonモジュールと拡張モジュールを同じ場所(site.USER_SITEとも呼ばれる)にインストールします。 Mac OS Xを含むUNIXの値は次のとおりです。

詳細はここにあります: http://docs.python.org/2.7/install/index.html

107
Sheena

シーナの答え をさらに説明するには、setup-toolsが必要でした別のツールの依存関係としてインストールmore-itertools

ダウンロード

クリック Clone or download ボタンをクリックして方法を選択します。これらをユーザーのホームディレクトリのdev/py/libsディレクトリに配置しました。それらがどこに保存されるかは重要ではありません。それらはそこにインストールされないからです。

セットアップツールのインストール

setup-toolsディレクトリ内で次を実行する必要があります。

python bootstrap.py
python setup.py install

一般的な依存関係のインストール

これで、more-itertoolsディレクトリに移動し、通常どおりインストールできます。

  1. パッケージをダウンロードする
  2. アーカイブの場合は展開します
  3. cd ...)をsetup.pyを含むディレクトリに移動します
  4. ここに含まれるドキュメントにインストール手順が含まれている場合は、その他の指示を読んでそれに従ってください。
  5. 入力:python setup.py install
2
Mr. Polywhirl

Sheena's answerは仕事をしますが、pipはそこで止まりません。

シーナの答えから:

  1. パッケージをダウンロードする
  2. 圧縮されている場合は解凍します
  3. setup.pyを含むディレクトリにcdします
  4. ここに含まれるドキュメントにインストール手順が含まれている場合は、その他の指示を読んでそれに従ってください。
  5. python setup.py installと入力します

これが完了すると、.Eggsite-packagesファイルが作成されます。ユーザーとしては、これは気にするべきではありません。パッケージは通常importおよびuninstallできます。ただし、pipの方法で実行する場合は、次の手順を続行できます。

site-packagesディレクトリで、

  1. unzip <.Egg file>
  2. Egg-INFOディレクトリの名前を<pkg>-<version>.dist-infoに変更します
  3. これで、パッケージ名<pkg-directory>の別のディレクトリが表示されます。
  4. find <pkg-directory> > <pkg>-<version>.dist-info/RECORD
  5. find <pkg>-<version>.dist-info >> <pkg>-<version>.dist-info/RECORD>>は、上書きを防ぐためのものです。

site-packagesディレクトリを見ると、pipなしでインストールしたことに気付かないでしょう。 uninstallにするには、通常のpip uninstall <pkg>を実行します。

0
John Strood