1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

git レポジトリにあるパッケージを pip install (setup.py-style, pyproject.toml)

Last updated at Posted at 2021-01-28

setup.py-style

setuptools(デフォルト)を使う場合、以下の形式で install ができます。

pip install "git+protocol://git.example.com/MyProject.git#egg=<project name>&subdirectory=<setup.pyがある階層までのパス>"

パラメータ の egg に関して

egg= is used by pip in its dependency logic to identify the project prior to pip downloading and analyzing the metadata.

pypaのドキュメントの上記説明だと具体的にどのように、何を指定すれば良いか分かりませんでしたが、以下の記事が役立ちました。

egg=(パッケージ名)は setup.py の中にある関数 setup(name=○○○, ...) の引数 name に渡される名称です。

パラメータ の subdirectory に関して

setup.pyがプロジェクトのルートにない場合に使います。

subdirectory を追加して、プロジェクトルートからのsetup.pyがある階層までのパスを指定する必要があります。

The value of the “subdirectory” component should be a path starting from the root of the project to where setup.py is located.

pyproject.toml にビルドツールを指定している場合 (PEP 517)

pyproject.toml にビルドツールを指定して install する場合のドキュメントを見つけられませんでした。しかし、suffix に egg を指定しない記法で install ができました。pipはpyproject.tomlを確認した際は指定のビルドツールを使ってくれるみたいです。

if a project specifies a different build system using a pyproject.toml file, as per PEP 517, pip will use that instead.

by https://pip.pypa.io/en/stable/reference/pip/

If a user wants to explicitly request PEP 517 handling even though a project doesn’t have a pyproject.toml file, this can be done using the --use-pep517 command line option.

by https://pip.pypa.io/en/stable/reference/pip/

pyproject.toml がプロジェクトルートにある場合

install に成功した自作サンプル↓

pip install git+https://github.com/nnashiki/wordcloud-cli

なお、build ツールには poetryを指定しています。

pyproject.toml がプロジェクトルートにない場合

install に成功した自作サンプル↓

pip install git+https://git@github.com/nnashiki/wordcloud_cli_training#subdirectory=wordcloud-cli-for-japanese

なお、build ツールには poetryを指定しています。

参考にしたドキュメント類

pep517 について知りたい場合のリンク

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?