setup.py
from setuptools import setup,find_packages
with open("README.txt") as file:
long_description = file.read()
setup(
name = "bennu",
version = "0.3.2.dev2",
keywords = ["bennu", "utility", "muchu"],
description = "muchu's utility module",
author = "MuChu Hsu",
author_email = "muchu1983@gmail.com",
license = "BSD 3-Clause License",
url="https://github.com/muchu1983/bennu",
long_description=long_description,
packages = find_packages(),
include_package_data = True,
install_requires = ["Pillow>=3.0.0"],
platforms = "python 3.3",
entry_points = {"console_scripts":["bennu=bennu.launcher:entry_point"]},
classifiers = [
"Programming Language :: Python :: 3.3",
],
)
重點:
name 之後使用 pip install 要用到的名稱
version 每次上傳不得重覆,否則上傳會失敗,數字越大版本越新。
find_packages() 可以自動找出含有 __init__.py 的資料夾,省去一一指定。
install_requires 指定本專案相依的其他 pypi 專案,用 pip 安裝時也會被加入安裝。
entry_points 指定 專案的執行進入點 並建立 可執行檔 ["execuatable_name=package.package:function"]
MANIFEST.in
include LICENSE
recursive-include bennu_res *
recursive-exclude test *
搭配 MANIFEST.in 可以指定其他檔案是否要一起加入封裝
上傳
1. 登入,首次會問你 pypi 上的帳密,之後可以記錄
python setup.py register
2. 包裝,將你的專案包裝成 zip (windows) 或 tar.gz (linux)
python setup.py sdist
3. 上傳至 pypi
python setup.py upload
成功的話,要先移除專案資料夾內生成的 dist/ 還有 .egg-info/
否則 pip 會以為你已經有最新版本了,若是其他電腦就沒差
之後就可以用
pip install name
來安裝專案
安裝後也可以直接執行 executable_name 來執行
沒有留言:
張貼留言