Py3 工具打包併發布到 pip

先贊後看,養成習慣

編寫自定義包代碼

代碼結構html

- dir_name
  - src
    - __init__.py
    - package_name
      - __init__.py
      - module1.py
      - module2.py
  - setup.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))
複製代碼

上傳代碼到 PyPI

檢查 setup.py

在上傳以前,能夠先經過命令校驗 setup 寫錯了沒有: python setup.py checkspa

若是隻有 running check 沒有輸出任何錯誤,則說明格式正確。3d

註冊 pypi.org

而後須要在這裏註冊一個 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))
複製代碼

歡迎歡迎點贊、討論文章

小福利:

關注「 銳門玩道 」,回覆「 資源 」領取更多 先後端學習資源 圖片描述

相關文章
相關標籤/搜索