原文链接: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. 获取不到自定义的request的header属性

    java获取headers的代码如下: // 获取http-header里面对应的签名信息 Enumeration<?> headerNames = request.getHeaderNa ...

  2. 面试问题记录 三 (JavaWeb、JavaEE)

    前言 这块还是比较关键的,考察你对整个业务流程的熟练度吧,虽然企业级的项目没有接触过,但像最基本的内容必须得融会贯通,这一点我感觉自己还是处于浅层,没有深入的去思考以及练习过,其实就像那句话,&quo ...

  3. C++动态内存管理与源码剖析

    引言 在本篇文章中,我们主要剖析c++中的动态内存管理,包括malloc.new expression.operator new.array new和allocator内存分配方法以及对应的内存释放方 ...

  4. VMware 安装 Centos 7 虚拟机配置网络

    在 Windows 机器上如果想使用 Linux 环境,最方便的方式莫过于使用虚拟机,最常用的软件各位肯定也不陌生,大名鼎鼎的 VMware . 不过这玩意有点稍稍不是那么智能,每次安装 Linux ...

  5. [C++]-vector 向量

    什么是向量容器 向量容器是一种支持高效的随机访问和高效的尾部插入新元素的容器. 向量容器一般实现为一个动态分配的数组,向量中的元素连续的存放在这个数组中,因此对向量容器进行随机访问具有和动态访问动态数 ...

  6. java常见面试题总结2

    JAVA必背面试题和项目面试通关要点 简单来讲,equals方法主要是用来判断从表面上看或者从内容上看,2个对象是不是相等. 一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链 ...

  7. C++小知识——显示VS大括号/花括号折叠按钮

    这个功能默认是关闭的,打开路径如下: 将大纲语句块改为"True" 这个功能其实很有必要真不知道为啥默认要关闭这个功能. 站在巨人的肩膀上的思想,其实已经在互联网程序员之间深入人心 ...

  8. Python3实现Two-Pass算法检测区域连通性

    技术背景 连通性检测是图论中常常遇到的一个问题,我们可以用五子棋的思路来理解这个问题五子棋中,横.竖.斜相邻的两个棋子,被认为是相连接的,而一样的道理,在一个二维的图中,只要在横.竖.斜三个方向中的一 ...

  9. docker部署elasticsearch-+-Kibana(6-8)-+-SpringBoot-2-1-6

    elasticsearch快速开始 docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e ...

  10. SpringBoot-2-1-6-集成activiti7-1-0-M4

    pom.xml <dependencyManagement> <dependencies> <dependency> <groupId>org.acti ...