制作python包并上传pypi

简介: 制作python包并上传pypi

平时写Python,需要用到一个新包时,习惯了pip install packageName,写多了就会想,这些包都是怎么来的?自己能不能"制作"一个,任何人也都可以通过pip安装?

有此想法,躬行实践.答案显然是肯定的,而且难度也绝没有想的那样大,或者说 It is easy.

1.编写代码

如要制作的包名为dashen,新建如下目录结构

微信截图_20230926180501.png

  • 其中两个__init__.py为空即可
  • README.md写一些该package的介绍,非必选
  • your_func.py是具体的功能实现,在此示例如下:
def dashen_address():
    print('www.dashen.tech')
def dashen_master():
    print('shuang.cui')
def author_hometown():
    print('山东邹平')
  • setup.py内容如下:
import setuptools
with open("README.md","r") as fh:
    long_description = fh.read()
setuptools.setup(
    # 包的分发名称,使用字母、数字、_、-
    name="dashen",
     # 版本号, 版本号规范:https://www.python.org/dev/peps/pep-0440/
    version="0.0.1",
    # 作者名
    author="fliter",
     # 作者邮箱
    author_email="i@dashen.tech",  
    # 包的简介描述
    description="我的第二个python包",
    # 包的详细介绍(一般通过加载README.md)
    long_description=long_description, 
    # 和上条命令配合使用,声明加载的是markdown文件
    long_description_content_type="text/markdown",
    # 项目开源地址
    url="https://dashen.tech",
     # 如果项目由多个文件组成,我们可以使用find_packages()自动发现所有包和子包,而不是手动列出每个包,在这种情况下,包列表将是example_pkg
    packages=setuptools.find_packages(),
    # 关于包的其他元数据(metadata)
    classifiers=[
         # 该软件包仅与Python3兼容
        "Programming Language :: Python :: 3",
        # 根据MIT许可证开源
        "License :: OSI Approved :: MIT License",
        # 与操作系统无关
        "Operating System :: OS Independent",
    ],
)

2.账号注册及打包

pip install --upgrade pip setuptools wheel

  • 切换到setup.py的同级目录,进行打包

python setup.py sdist

微信截图_20230926180558.png

会出现两个新文件

3.上传

上传Pypi

pip install twine

(如果已经安装twine,跳过此步骤)

python -m twine upload dist/*

输入Pypi的账号及密码

微信截图_20230926180611.png

4.查看及检验

微信截图_20230926180647.png

微信截图_20230926180658.png

微信截图_20230926180706.png

完结,撒花

目录
相关文章
|
1月前
|
Python
python中导入模块/包的几种方式
python中导入模块/包的几种方式
25 0
|
15天前
|
Python
python学习14-模块与包
python学习14-模块与包
|
17天前
|
Python
掌握Python导包技艺:揭秘导包语句的奥秘
掌握Python导包技艺:揭秘导包语句的奥秘
19 0
|
1月前
|
分布式计算 DataWorks 关系型数据库
DataWorks常见问题之第三方Python依赖包使用失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
网络协议 安全 Linux
Scapy:Python发包收包利器
Scapy:Python发包收包利器
33 0
|
1月前
|
开发工具 git Python
深入理解Python中的模块和包
深入理解Python中的模块和包
32 0
|
1月前
|
Linux 数据库连接 数据库
Python如何将项目直接打包为一键整合包
Python如何将项目直接打包为一键整合包
42 0
|
1月前
|
数据安全/隐私保护 Python
详解python中的类、模块、包的概念和区别
详解python中的类、模块、包的概念和区别
21 0
详解python中的类、模块、包的概念和区别
|
1月前
|
Python
Python相关模块与包
Python相关模块与包
14 1
|
1月前
|
Python
python-异常,模块与包
python-异常,模块与包
15 4