python模块打包上传pypi


pypi注册

先在pypi.org上注册账户密码,务必牢记

模块尽量都保存在包中,如果要进行模块的定义,首先定义的就是包,

所以每个目录下需要一个__init__.py的文件,可以为空内容,但必须有。

我的包结构:

项目的根目录,保存所有的项目代码程序执行文件,main.py,移动程序setup.py,打包及其信息说明【包】包名,从此处开始到末尾,统称为模块__init__.py【包】包名__init__.py【包】包名__init__.py源文件名.py

这是当时我做的包结构:

PS D:\demo> tree /f
卷 Data 的文件夹 PATH 列表
卷序列号为 94F1-75D8
D:.
│  main.py
│  setup.py
│
└─qiye│  __init__.py│└─github│  __init__.py│└─iogame1.py__init__.py

在根目录创建 " setup.py " 文件 ( 与 main.py 同级 )
假如在根目录没有setup.py文件,则创建。
包设定

from setuptools import setup,find_packages
setup(name = "qiye-game1",       #包的名称version = "0.1.1",          #版本author = "qiye",          #作者名#url = "qiyenull.github.io",     网站,不是必要,此网站需要存在且未被占用description = "孤独终老",      #包的信息说明packages = find_packages("qiye"),     #打包时,开始的目录package_dir = {"":"qiye"},        # 告诉 setuptools 包都在 qiye 下package_data = {## 包含 data 文件夹下所有的 *.dat 文件"":[".txt", ".info", "*.properties", ".py"],"":["data/*.*"],},# 取消所有测试包exclude = ["*.test", "*.test.*", "test.*", "test"])

定义完成打包的部署文件后,进行程序的执行,执行时可以设置多种类型的包

建议写main.py文件

import qiye.github.io.game1 as msg
print(msg.get_info())

这样使用时可以快速调用

虚拟环境

使用 pip 下载虚拟环境

pip install virtualenv

可在C:\Program Files\Python38\Lib\venv\scripts\nt找到activate.bat文件
打开cmd,切换到这个目录,执行activate.bat
可以发现成功进入到虚拟环境**VENV_PROMPT**中

验证能否正常使用

__VENV_PROMPT__C:\Program Files\Python38\Lib\venv\scripts\nt>pip list

如果正常,会显示已安装的python模块名和版本,即可正常使用

打包上传

在虚拟环境下来到要上传文件的根目录

__VENV_PROMPT__D:\demo>

测试文件是否能够使用

__VENV_PROMPT__D:\demo>dir驱动器 D 中的卷是 Data卷的序列号是 94F1-75D8D:\demo 的目录2022/03/21  13:14    <DIR>          .
2022/03/21  13:14    <DIR>          ..
2022/03/17  07:46                59 main.py
2022/03/21  13:14    <DIR>          qiye
2022/03/18  11:11               435 setup.py2 个文件            494 字节3 个目录 83,926,605,824 可用字节__VENV_PROMPT__D:\demo>python main.py
****************************************
*                                  *****
**                                  ****
***        qiye is so boring!        ***
****                                  **
*****                                  *
****************************************
None__VENV_PROMPT__D:\demo>

验证完成后,安装几个必要软件

pip install twine    上传需要
pip install wheel    打包需要

开始打包

__VENV_PROMPT__D:\demo>python setup.py sdist bdist_wheel

他会出现打包的过程,假如报错,那就有可能setup.py文件语法出问题了,请根据报错提示定位修改,不然就是少必要软件了
成功会出现2个文件夹:

开始上传
我们只需要上传dist文件夹里的所有文件就行

twine upload dist/*    #上传

他会提示你输入username和password
输入你在pypi注册时的用户名和密码
能正常上传就行


这里上传可能会出现了几种问题,(我把坑踩完了) 1、出现twine不会被识别为内部或外部命令

解决:把C:\Users\myname\AppData\Roaming\Python\Python36\Scripts加入系统变量

2、HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
Invalid or non-existent authentication information. See https://pypi.org/help/#invalid-auth for more information.
用户密码错误

3、HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
User ‘xxx’ does not have a verified primary email address. Please add a verified primary email before attempting to upload to PyPI. See https://pypi.org/help/#verified-email for more information.
自己账号的主邮箱没有验证,看看自己邮箱有没有pypi发来的邮件

下载模块

pip install 你的模块名

pip install qiye-game1

python模块打包上传pypi相关推荐

  1. python模块打包上传pypi-演示pytest hook函数二次开发

    python模块打包上传pypi pytest hook函数二次开发 修改默认编码 显示中文用例名称 官方文档 : https://packaging.python.org/en/latest/tut ...

  2. python工程打包上传nexus私服

    打包 参照官方文档: setup规范 https://packaging.python.org/tutorials/distributing-packages/#setup-py twine使方法 h ...

  3. python382怎么用_手把手教你使用python自动打包 上传应用分发

    1)先上脚本 步骤很简单 ,如下文所示 本脚本是基于python3,如何在mac 电脑升级python3 参考我2天前写的文章 Mac 系统同时安装python2 和python3 #!/usr/bi ...

  4. Python编程:twine模块打包python项目上传pypi

    注册账号(重要) https://pypi.org 可以配置到$HOME/.pypirc文件中,就不用多次输入了 [pypi] username = <username> password ...

  5. python打包上传至pypi —— 具有多个目录的项目工程快速打包上传

    项目目录 项目目录说明: cqrcode:项目包(我的里面有多个目录) LINCENSE:许可证 MANIFEST.in:需要打包的项目文件说明 README.md:项目说明文档 requiremen ...

  6. 发布你自己的轮子 - PyPI打包上传实践

    文章目录 发布 Python 包 准备 创建用户验证文件 创建项目结构 编写setup.py 编写README.md 编写LICENSE 生成发布包 本地测试(可选) 上传到PyPI 安装测试 常见错 ...

  7. Android 通过python实现自动化构建打包上传加固

    Android 通过python实现自动化构建打包上传加固 实现需求: 基于gradle命令,通过python实现多渠道,多环境打包,上传蒲公英,360加固等 经过学习调研完成步骤如下: 一,通过gr ...

  8. Python项目打包发布到pypi

    最近心血来潮,想把自己的写的python项目打包到pypi,也让广大朋友能够通过pip来安装我的python包. 第一次尝试,中间遇到了一些问题,记录下来,方便其他感兴趣的朋友. 项目组织架构 # t ...

  9. uni-app实现支付及项目打包上传

    本文主要介绍uni-app项目中如何实现支付功能(支付宝支付.微信支付),及项目如何打包上传. 一.实现支付 前置工作,项目要实现支付功能,首先要在根目录manifest.json文件内App模块配置 ...

最新文章

  1. 阿里云天池大赛赛题解析――深度学习篇
  2. windows服务安装
  3. mybatis04--Mapper动态代理实现
  4. arm 流水线和pc值
  5. java secondtotime_Java中的LocalTime toSecondOfDay()方法
  6. 4408: [Fjoi 2016]神秘数
  7. JavaScript之常见算法排序
  8. 常用Openssl命令
  9. 类似新浪微博和google图片的HTML5实现图片拖拽上传功能
  10. JavaWeb知识总结
  11. C#编程利器之四:委托与事件(Delegate and event) (下)
  12. mac vulkan_基于 mac 的 ncnn vulkan iOS集成参考
  13. 企业全面运营管理沙盘模拟心得_企业经营沙盘模拟心得总结
  14. Text Scanner for Mac(超快速ocr文字识别软件)
  15. JavaScript文档注释JSDoc注释
  16. Spring Boot-配置
  17. 关于支付接口回调地址参数字段是“notify_url”,签名过后的特殊字符url编码以后再解码后出现错误(¬ , ¢, ¤, £)
  18. NVIDIA主控CPU/GPU设置频率
  19. xamarin学习笔记A19(安卓AIDL)
  20. 可以过滤网页中广告的插件Adblock Plus

热门文章

  1. 升级服务器后的作用,服务器硬件升级的七大注意事项
  2. matlab字符串表示方法,MATLAB字符和字符串
  3. ASP.NET使用文件流的方式下载文件
  4. uboot在nandflash和norflash是如何运行的
  5. java lucene词干提取_词形变换和词干提取工具(英文)
  6. 菜鸟必看 揭开系统资源的神秘面纱
  7. C# Jama 混合编程
  8. MFC 自动获取可用com串口(串口号以及名称)
  9. java集合类构造及原理
  10. java实现游戏道具购买_基于jsp的虚拟游戏交易-JavaEE实现虚拟游戏交易 - java项目源码...