442

ローカル ファイル システムから pip を使用してパッケージをインストールすることは可能ですか?

python setup.py sdist適切な tar.gz ファイルを作成したパッケージを実行しました。このファイルは私のシステムの に保存されています/srv/pkg/mypackage/mypackage-0.1.0.tar.gz

仮想環境で、pypi または特定の local location からパッケージをインストールしたいと考えています/srv/pkg

これは可能ですか?

PS 私は指定できることを知っていますpip install /srv/pkg/mypackage/mypackage-0.1.0.tar.gz。それはうまくいきますが、/srv/pkg入力した場合にピップが検索する別の場所として場所を使用することについて話しているpip install mypackage.

4

12 に答える 12

528

どうですか::

pip install --help
...
  -e, --editable <path/url>   Install a project in editable mode (i.e. setuptools
                              "develop mode") from a local project path or a VCS url.

例えば、pip install -e /srv/pkg

ここで、/srv/pkg は「setup.py」が見つかる最上位のディレクトリです。

于 2013-11-18T09:10:41.790 に答える
191

私はあなたが探しているものが--find-linksオプションと呼ばれていることをかなり確信しています。

できるよ

pip install mypackage --no-index --find-links file:///srv/pkg/mypackage
于 2013-02-22T19:32:09.880 に答える
56

インストールしpyfuzzyていますが、PyPI にはありません。メッセージを返します: No matching distribution found for pyfuzzy.

私は受け入れられた答えを試しました

pip install  --no-index --find-links=file:///Users/victor/Downloads/pyfuzzy-0.1.0 pyfuzzy

ただし、どちらも機能せず、次のエラーが返されます。

インデックスを無視: https://pypi.python.org/simple Collecting pyfuzzy 要件 pyfuzzy を満たすバージョンが見つかりませんでした (バージョンから: )

最後に、私はそこで簡単な良い方法を見つけました: https://pip.pypa.io/en/latest/reference/pip_install.html

Install a particular source archive file.
$ pip install ./downloads/SomePackage-1.0.4.tar.gz
$ pip install http://my.package.repo/SomePackage-1.0.4.zip

したがって、次のコマンドが機能しました。

pip install ../pyfuzzy-0.1.0.tar.gz.

それがあなたを助けることを願っています。

于 2015-09-01T11:38:43.623 に答える
24

これは私が最終的に使用したソリューションです:

import pip


def install(package):
    # Debugging
    # pip.main(["install", "--pre", "--upgrade", "--no-index",
    #         "--find-links=.", package, "--log-file", "log.txt", "-vv"])
    pip.main(["install", "--upgrade", "--no-index", "--find-links=.", package])


if __name__ == "__main__":
    install("mypackagename")
    raw_input("Press Enter to Exit...\n")

これをpip install examples別の質問に対するリカードの回答からまとめました。「--pre」引数を使用すると、非製品バージョンをインストールできます。「--no-index」引数は、PyPI インデックスの検索を回避します。「--find-links=.」引数は、ローカル フォルダー内を検索します (これは、相対または絶対です)。デバッグには、「--log-file」、「log.txt」、および「-vv」引数を使用しました。「--upgrade」引数を使用すると、古いバージョンの上に新しいバージョンをインストールできます。

それらをアンインストールする良い方法も見つけました。これは、いくつかの異なる Python 環境がある場合に便利です。「インストール」の代わりに「アンインストール」を使用するだけで、意図しないアンインストールを防ぐための安全対策を備えた、同じ基本的な形式です。

import pip


def uninstall(package):
    response = raw_input("Uninstall '%s'? [y/n]:\n" % package)
    if "y" in response.lower():
        # Debugging
        # pip.main(["uninstall", package, "-vv"])
        pip.main(["uninstall", package])
    pass


if __name__ == "__main__":
    uninstall("mypackagename")
    raw_input("Press Enter to Exit...\n")

ローカル フォルダーには次のファイルが含まれます: install.py、uninstall.py、mypackagename-1.0.zip

于 2014-10-15T23:17:08.780 に答える