古い記事ですがGistでGemを公開という記事を見かけたので、これはPython(pip)でもできるはずと思い実際に試してみました。
試しにやってみましたが、実際に利用するかどうかはわかりません(笑)
個人的かつ1ファイルで済む場合は役立つシーンがあるかも?
Gistに置くファイル
最小構成だとこんな感じです。
ここではgistpy
という名前のパッケージにしました。
- setup.py
from setuptools import setup, find_packages
def main():
setup(
name="gistpy",
version="1.0.0",
license="Apache License 2.0",
author="...",
author_email="...",
description="gistpy is a sample module for trying to install from gist.",
long_description_content_type="text/markdown",
py_modules=["gistpy"],
classifiers=[
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
],
)
if __name__ == "__main__":
main()
パッケージの中身となる処理はgistpy.py
に記述します。
- gistpy.py
def func():
print("Success!!")
インストール
インストールはGistのURLにgit+
と.git
をつけて指定するだけ。1
今回のGistはhttps://gist.github.com/rhoboro/c7d028fd20c4bb6591ece39b3fbe7949にあります。
$ pip3 install git+https://gist.github.com/rhoboro/c7d028fd20c4bb6591ece39b3fbe7949.git
Collecting git+https://gist.github.com/rhoboro/c7d028fd20c4bb6591ece39b3fbe7949.git
Cloning https://gist.github.com/rhoboro/c7d028fd20c4bb6591ece39b3fbe7949.git to /private/var/folders/63/rn3zp2f52yqcp4hx4ljf2pm00000gn/T/pip-req-build-3dljiudq
Using legacy 'setup.py install' for gistpy, since package 'wheel' is not installed.
Installing collected packages: gistpy
Running setup.py install for gistpy ... done
Successfully installed gistpy-1.0.0
あとは普通にインポートして利用できます。
$ python3 -q
>>> from gistpy import func
>>> func()
Success!!
>>>
-
サフィックスの
.git
に関しては追加しなくてもインストールされます ↩