当你看到这篇文章的时候,说明你已经在python领域有所涉猎,已经不是当初的那个小白了。直接进入正题!本文做初次使用记录,随时更新
比如:我们想封装一个切图的功能,存放方式
project
├──slice
├──__init__.py
├──img_slice.py
├──setup.py
包也可以有多层结构:
project
├──slice
├──__init__.py
├──img_slice.py
├──utils
├──__init__.py
├──setup.py
将以上slice包移动到你需要的conda虚拟环境envs下,找到python的根site_packages文件夹内,然后就可以直接使用import导入以上包或者指定模块,python会按照包和模块搜索路径完成加载
上面这种方式和后面的安装本地wheel和pip安装原理是一样的
完善setup.py信息,里边包含了你要封装的wheel的所有信息
import setuptools #导入setuptools打包工具
# with open("README.md", "r", encoding="utf-8") as fh:
# long_description = fh.read()
setuptools.setup(
name="package-name", # 发布wheel包名 ----需修改
version="0.0.1", # 包版本号,便于维护版本
author="Author", # 作者,可以写自己的姓名
author_email="[email protected]", # 作者联系方式,可写自己的邮箱地址
description="A small example package", # 包的简述
long_description='long_description', # 包的详细介绍,一般在README.md文件内, 或者用字符串定义
long_description_content_type="text/markdown",
url="https://github.com/pypa/sampleproject", # 自己项目地址,比如github的项目地址
# packages=setuptools.find_packages(),
packages=['slicess'] # python项目文件夹的名字,安装包名。和name保持一致 ----需修改
python_requires='>=3.6', #对python的最低版本要求
)
3.1 安装setuptools和wheel
#安装或更新setuptools和wheel
python3 -m pip install --upgrade setuptools wheel
3.2 打包并生成.whl文件
cd project
python3 setup.py bdist_wheel
运行完成后,会在project目录下生成两个文件夹,一个build文件夹,一个dist文件夹,生成的wheel就在dist文件夹中。
直接pip install 那个wheel即可pip install slice-0.0.1-py3-none-any.whl
4.1 首先,需要有个PyPi的账号
没有先注册,PyPi官网传送门。其实token名字和token value不用也行
4.2 安装twine
# 安装或更新twine
python3 -m pip install --user --upgrade twine
4.3 使用twine上传至PyPi
python3 -m twine upload dist/*
上传过程会提示输入用户名和密码,直接输入你注册时候的username和password 即可。
有两个注意事项:
4.4 安装线上的PyPi包
pip install --index-url https://pypi.org/simple/ slice
记得加上url,否则可能下载的时候找不到包。
修改好自己的包版本内容后,修改setup.py中的版本号即可。
import slice.img_slice as crop
input_dir = '/home/adt/Desktop/demo'
crop_size = 768
crop.img_crop(input_dir, crop_size)
如果不想在上传PyPi的时候输入密码,可以这样做:
在用户根目录下创建文件~/.pypirc,并写入以下内容
[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = 你的用户名
password = 你的密码