原文链接:https://blog.csdn.net/Liangjun_Feng/article/details/80037315

一、注册pypi账号

网址:https://pypi.org/ 直接注册就好

二、编写自己的python项目

这是一个名为SICA的文件夹,sica.py和ssica.py是这个项目的主要代码,init文件是必须的,这是一个package的象征,可以什么都不写,但必须有。

三、建立一个setup.py文件

这个文件是用来打包的,内容上是这样

#!/usr/bin/env python
#-*- coding:utf-8 -*- #############################################
# File Name: setup.py
# Author: LiangjunFeng
# Mail: zhumavip@163.com
# Created Time: 2018-4-16 19:17:34
############################################# from setuptools import setup, find_packages #这个包没有的可以pip一下 setup(
name = "SICA", #这里是pip项目发布的名称
version = "2.1.4", #版本号,数值大的会优先被pip
keywords = ("pip", "SICA","featureextraction"),
description = "An feature extraction algorithm",
long_description = "An feature extraction algorithm, improve the FastICA",
license = "MIT Licence", url = "https://github.com/LiangjunFeng/SICA", #项目相关文件地址,一般是github
author = "LiangjunFeng",
author_email = "zhumavip@163.com", packages = find_packages(),
include_package_data = True,
platforms = "any",
install_requires = ["numpy"] #这个项目需要的第三方库
)

这个setup.py需要放在和SICA文件夹同一级的目录上,像下面这样

四、本地打包项目文件

在命令行上先 cd 到存放setup.py文件的目录,例如:cd /d D:\Python\codes\01,然后用下面的命令

python setup.py sdist  

这个命令会在当前目录下生成两个文件夹,保存了这个项目相关的所有信息

五、上传项目到pypi服务器

首先在setup.py这一级的目录下建立一个系统文件 .pypirc 内容如下

[distutils]
index-servers = pypi [pypi]
username:你的PyPi用户名
password:你的PyPi密码
~

再转到命令行,pip一个上传工具

pip install twine

在上传就好

twine upload dist/SICA-2.1.4.tar.gz

六、下载上传的库

到第5步所有的工作其实都已经完成了,可以使用下面的命令直接下载到本地

pip install SICA

python打包发布自己的pip项目的更多相关文章

  1. (18)python 打包发布

    1.安装 pyinstaller pip install pyinstaller 2.创建文件 pyinstaller yourprogram.py 试了半天总是报 TypeError: expect ...

  2. python打包成为exe文件

    pyinstaller 库的使用 PyInstaller是一个十分有用的第三方库,它能够在Windows.Linux.Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Py ...

  3. 使用Advanced Installer 13.1打包发布 Windows Service服务程序

    原文: 使用Advanced Installer 13.1打包发布 Windows Service服务程序 项目中需要用到一个定时推送案件状态的需求,本人小菜一只,在同事建议下要写成一个windows ...

  4. [Python] 项目打包发布

    一.setuptools - 官方文档: Building and Distributing Packages with Setuptools- 中文文档: Python包管理工具setuptools ...

  5. python如何发布自已pip项目

    python如何发布自已pip项目前言因为自已平时会把一个常用到逻辑写成一个工具python脚本,像关于时间字符串处理,像关于路径和文件夹遍历什么的工具.每一次新建一个项目的时候都要把这些工具程序复制 ...

  6. [转]Python依赖打包发布详细

    Python依赖打包发布详细   http://www.cnblogs.com/mywolrd/p/4756005.html 将Python脚本打包成可执行文件   Python是一个脚本语言,被解释 ...

  7. Python学习手册之__main__ 模块,常用第三方模块和打包发布

    在上一篇文章中,我们介绍了 Python 的 元组拆包.三元运算符和对 Python 的 else 语句进行了深入讲解,现在我们介绍 Python 的 __main__ 模块.常用第三方模块和打包发布 ...

  8. 如何打包发布加密的 Python 源代码

    这里介绍一种使用 PyInstaller 和 PyArmor 来发布加密 Python 源代码的方式,能够达到以下目的 把所有 Python 源代码打包成为可执行文件,客户不需要 Python 就可以 ...

  9. Python 打包和发布方法汇总

    以下主要Python打包汇总,作为学习备份: 一.使用python内部基础工具包Distutils打包程序 1. 在打包之前需要做的就是配置好安装脚本,一般为setup.py文件: 示例(setup. ...

随机推荐

  1. artDialog 简单几种用法

    $('#btn1').click(function(){        artDialog({title:'图片查看', content:'<img width="817" ...

  2. 记录21.07.22 —— Vue.js基础(一)

    VUE基础 语雀课件地址 Vue.js框架 Vue中文文档 Vue.js 创建vue项目 ①在一个空项目中引入vue的js文件 <script src="https://cdn.jsd ...

  3. OSPF多区域

    目录 一.OSPF的多区域 1.1 生成OSPF多区域的原因 1.2 路由器的类型 1.3 区域的类型 二.链路状态数据库 2.1 链路状态数据库的组成 2.2链路状态通告 三.OSPF多区域配置 四 ...

  4. Spring Cloud Gateway自定义异常处理Exception Handler

    版本: Spring Cloud 2020.0.3 常见的方法有 实现自己的 DefaultErrorWebExceptionHandler 或 仅实现ErrorAttributes. 方法1: Er ...

  5. vue传值 ---- >> 子传父,$emit()

    划重点: $emit 绑定一个自定义事件event,当这个这个语句被执行到的时候,就会将参数arg传递给父组件,父组件通过@event监听并接收参数.   子组件:   1 <template& ...

  6. postman之变量

    前言:postman可以设置(环境变量)和(全局变量) (环境变量):环境变量只能在选择的环境中使用,可以有多组,常用在设置URL和密码当中 (全局变量):只能有一组,整个环境都可以应用 [环境变量] ...

  7. gRPC学习之一:在CentOS7部署和设置GO

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. 线性代数期末大总结II

    向量组的线性相关性 向量组及其线性组合: n个有次序的数\(a_1,a_2,\cdots,a_n\)所组成的数组称为n维向量,这n个数称为该向量的n个分量,第i个数\(a_i\)称为第i个分量. 若干 ...

  9. Install Redmine Server with Bitnami Installer

    Download bitnami installer: bitnami-redmine-2.4.1-1-linux-installer.run $ chmod 755 bitnami...instal ...

  10. Linux 内核预备知识:浅析 offsetof 宏以及新手的所思所想

    最近一头扎进了 Linux 内核的学习中,对于我这样一个没什么 C 语言基础的新生代 Java 农民工来说实在太痛苦了.Linux 内核的学习,需要的基础知识太多太多了:C 语言.汇编语言.数据结构与 ...