

Pipenv は、アプリケーションのライブラリマネジメントツールです。似たようなツールに nodejs の npm や ruby の bundler
があります。

npm や bundler では、たとえそれがライブラリとしてリリースされていなくても、直接 github の git URL
を指定して、ライブラリとして動作させる機構があります。

### 質問

Pipenv にて、たとえば、 github の master には存在するけれども、まだ PyPI
にリリースされていないライブラリに対して、依存を指定することはできますか？


CC BY-SA 4.0
2019-04-13T09:03:20.330
54137
2020-04-23T09:04:15.423
754
question
python pip pipenv
pipenv で bundler や npm でいうところの、 git レポジトリ参照のようなことはできますか？


**内容を Pipenv で更新 (Pipの分は後ろに移動)**

以下のように、Pipenv でも可能になっているのではないでしょうか。

[Pipenvを使ったPython開発まとめ](https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a)  
[ちょっと高度なパッケージの管理関連](https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a#%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%E9%AB%98%E5%BA%A6%E3%81%AA%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E7%AE%A1%E7%90%86%E9%96%A2%E9%80%A3)

> GitHubのリポジトリを指定してインストールする場合は次のように行います．
[code]

>     $ pipenv install
> git+https://github.com/<ユーザ>/<リポジトリ>.git@<リビジョン>#egg=<パッケージ名>
>  
[/code]

[requirements.txtからのインストール](https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a#requirementstxt%E3%81%8B%E3%82%89%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)

> Pipenvの導入前に`requirements.txt`でパッケージが管理されていた場合に，その内容からPipenvでインストールすることもできます．
[code]

>     $ pipenv install -r ./requirements.txt
>  
[/code]

* * *

[pipfile – requirements.txtの置き換え](https://githubja.com/pypa/pipfile)

* * *

Pipenvのサイトから  
[Pipenvの基本的な使い方](https://pipenv-ja.readthedocs.io/ja/translate-ja/basics.html)  
[一般的なオススメの方法とバージョン管理](https://pipenv-ja.readthedocs.io/ja/translate-
ja/basics.html#general-recommendations-version-control)

> pipenv install は pip install の文法と完全な互換性があります。 pip install の文法については
> [ここ](https://pip.pypa.io/en/stable/user_guide/#installing-packages)
> に完全なドキュメントがあります。

[requirements.txtからのインポート](https://pipenv-ja.readthedocs.io/ja/translate-
ja/basics.html#importing-from-requirements-txt)

> `pipenv install` を実行したときに `requirements.txt`
> ファイルしか無い場合は、Pipenvは自動でそのファイルの内容をインポートし `Pipfile` を作成します。  
>  requirementsファイルをインポートするのに、 `$ pipenv install -r path/to/requirements.txt`
> と指定することもできます。

[バージョン管理システムについての但し書き](https://pipenv-ja.readthedocs.io/ja/translate-
ja/basics.html#a-note-about-vcs-dependencies)

> pipenvは、gitやその他のバージョン管理システムで次の規則に従った形式のURLを使っているものからパッケージをインストールできます。
>
> 実行するたびにリポジトリの最新コピーを使用して依存関係の解決を確実に実行できるように、`pipenv install -e`
> を使用して、バージョン管理された依存関係を編集可能モードでインストールすることを **強くお勧めします** 。 それはすべての既知の依存関係を含みます。

[Pipenvの使い方](https://pipenv-ja.readthedocs.io/ja/translate-ja/#pipenv-usage)  
[install](https://pipenv-ja.readthedocs.io/ja/translate-ja/#pipenv-install)

>
[code]

>     pipenv install [OPTIONS] [PACKAGES]...
>         -e, --editable <editable>
>           An editable python package URL or path, often to a VCS repo.
>           編集可能なpythonパッケージのURLまたはパス。多くの場合、VCSレポジトリです。
>  
[/code]

* * *

ただし、以下のように Closed にはなっているようですが、関連する Issue がいくつもあるし、まだまだバギーなのかもしれません。  
[install private git repos #313](https://github.com/pypa/pipenv/issues/313)  
[Unable to install package from private repository
#1393](https://github.com/pypa/pipenv/issues/1393)  
[Unable to install from private repo with git+ssh
#2653](https://github.com/pypa/pipenv/issues/2653)  
[Wheel caching on private index vs Pipfile.lock hashes
#2177](https://github.com/pypa/pipenv/issues/2177)  
[Installing private repo with git+git is not working at 2018.7.1 version
#2704](https://github.com/pypa/pipenv/issues/2704)  
[pipenv ignores explicitly specified index for package
#2730](https://github.com/pypa/pipenv/issues/2730)  
[Pipenv install hangs, simply by adding private repository
#2741](https://github.com/pypa/pipenv/issues/2741)  
[Installing from private git repository does not prompt for username and
password. (v2018.11.26) #3333](https://github.com/pypa/pipenv/issues/3333)  
[How to use pipenv to install package from
github](https://stackoverflow.com/q/50316275/9014308)

* * *

**Pip 関連**

質問内容や要望にフィットするか判りませんが、以下のような記事があって、git なり何なりのリポジトリからインストールすることは可能なようです。  
[pip で github
のリポジトリをインストール](https://qiita.com/trsqxyz/items/744ba3c8a123d52aa7fe)

英語版StackOverflowの記事から、pip のドキュメントへ  
[pip install from git repo
branch](https://stackoverflow.com/q/20101834/9014308) / [pip install VCS
Support](https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support)  
[Install specific git commit with
pip](https://stackoverflow.com/q/13685920/9014308)

依存関係の指定については、こんな記事があるようです。  
[プライベートなpackageに依存するgithub
のリポジトリをpipでインストールするには？](https://qiita.com/knknkn1162/items/d76d03a5245ca42edd7a)  
[pip ignores dependency_links in
setup.py](https://stackoverflow.com/q/12518499/9014308)  
[How to state in requirements.txt a direct github
source](https://stackoverflow.com/q/16584552/9014308)

検索で見つけているだけなので、内容は理解していませんが。参考になれば。


CC BY-SA 4.0
2019-04-14T01:48:53.213
54151
2019-04-14T13:06:47.037
2019-04-14T13:06:47.037
26370
26370
54137
answer