代碼結構html
- dir_name
- src
- __init__.py
- package_name
- __init__.py
- module1.py
- module2.py
- setup.py
複製代碼
下面是一個簡單的setup.py文件,詳細的參數配置能夠參考 An Introduction to Distutilspython
# 編寫完包源碼後,python setup.py sdist生成pip壓縮包
# 解壓壓縮包,python setup.py install 安裝本身的包,就能夠引用了
from distutils.core import setup
from setuptools import find_packages
setup(name='package_name', # 包名
version='2020.4.10', # 版本號
description='',
long_description='',
author='your_name',
author_email='xxx@qq.com',
url='xxx',
license='',
install_requires=[],
classifiers=[
'Intended Audience :: Developers',
'Operating System :: OS Independent',
'Natural Language :: Chinese (Simplified)',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
'Topic :: Utilities'
],
keywords='',
packages=find_packages('src'), # 必填
package_dir={'': 'src'}, # 必填
include_package_data=True,
)
複製代碼
package_name/__init__.py
內容以下web
from __future__ import absolute_import
# 上面👆這個必須位於文件開頭,不然後面運行會報錯
from .module1 import *
from .module2 import *
複製代碼
module1.py 代碼以下後端
# 加法
def add(a,b):
return a+b
複製代碼
module2.py 代碼以下編輯器
# 減法
def sub(a,b):
return a-b
# 乘法
def mul(a,b):
return a*b
複製代碼
在 dir_name 目錄下執行
python setup.py sdist
學習
生成 pip 壓縮包, 沒有這刷新項目 進入 packet_demo/dist
文件夾,執行
pip install xxx(本身包名,自由替換).tar.gz
ui
安裝後,就能夠直接調用了url
import package_name
print(package_name.add(1,2))
複製代碼
在上傳以前,能夠先經過命令校驗 setup 寫錯了沒有: python setup.py check
spa
若是隻有 running check
沒有輸出任何錯誤,則說明格式正確。3d
而後須要在這裏註冊一個 PyPI 的賬號,註冊完成以後,就能夠將這個代碼庫註冊到 PyPI 了:
https://pypi.org/
註冊之後就能夠打包上傳了
# 打包 python setup.py sdist安裝上傳組件
pip install twine
上傳
複製代碼twine upload ./dist/xxx(本身包名,自由替換).tar.gz` 會讓你輸入帳號密碼 複製代碼
最後去 PyPI 上看下咱們剛剛上傳的庫
試試看咱們本身發佈的庫 pip install package_name
import package_name
print(package_name.add(1,2))
複製代碼
關注「 銳門玩道 」,回覆「 資源 」領取更多 先後端學習資源