众所周知,Python社区最吸引人的地方之一就是社区提供了非常丰富的第三方库,任何人都可以往上面提交自己写的开源工具包,如果希望用户可以直接通过 pip 命令下载安装的话,作为开发者,我们就可以把自己写的开源代码上传到 Pypi 服务器,这篇教程以 https://github.com/lzjun567/zhihu-api为例,告诉你如何操作,如果你还没准备自己的开源项目,留着以后也会用得着。

目录结构除了项目所有的包目录之外,还要有 setup.py 文件和依赖包文件 requirements.txt 以及 README 说明文件。

|-- MANIFEST.in

|-- README.md

|-- requirements.txt # 项目依赖的第三方包

|-- setup.cfg

|-- setup.py # 配置文件

`-- zhihu   # 包目录

|-- __init__.py

|-- auth.py

|-- error.py

|-- main.py

|-- models

setup.py 文件中必须包含内容是 setup 函数中指定的参数:

# -*- encoding: UTF-8 -*-

from setuptools import setup, find_packages

import io

VERSION = '0.2.4'

with io.open("README.md", encoding='utf-8') as f:

long_description = f.read()

install_requires = open("requirements.txt").readlines()

setup(

name="zhihu",  # pip 安装时用的名字

version=VERSION,  # 当前版本,每次更新上传到pypi都需要修改

author="liuzhijun",

author_email="lzjun567@gmail.com",

url="https://github.com/lzjun567/zhihu-api",

keyworads="zhihu",

description="zhihu api from humans",

long_description=long_description,

packages=find_packages(exclude=('tests', 'tests.*')),

include_package_data=True,

license='MIT License',

classifiers=[],

install_requires=install_requires,

)

也可以直接把代码下载下来,在本地通过 python settup.py install 的方式安装配置完之后需要到 Pypi 网站注册自己的帐号  https://pypi.python.org/pypi

上传文件前,需要地系统当前用户目录新建文件 .pypirc,内容如下,并指定用户名和密码:

[distutils]

index-servers =

pypi

[pypi]

username:xxxx

password:xxxx

开始上传:

python setup.py register sdist bdist_egg upload

上传成功后,用 pip install zhihu 测试一下效果。发现报错了 IOError: [Errno 2] No such file or directory: ‘README.md’,说是找不到 README.md 文件,其实这里还忽略了一个步骤,需要在项目中添加 MANIFEST.in 文件,把 readme 和 requirement 文件进入进来:

include README.md

include requirements.txt

.至此,安装包成功上传到Pypi服务器。

前晚的直播因为线路出了故障,昨天录播了视频,今天晚些时候就能在https://edu.hellobi.com/course/204 看到,购买了该课程的同学可以加我微信,明晚我会和大家在微信群互动交流。

关注python之禅,提高Python技能

把自己的项目布到服务器,如何把自己的开源项目发布到Pypi服务器相关推荐

  1. 阿昌带你一起学习若依之【项目结构、登录实现】 -若依开源项目

    若依开源项目 若依地址 若依官方网址 一.项目结构 0.前言 阿昌之前的文章<阿昌手摸手教你如何在服务器部署若依前后端分离版项目>中,我们部署了若依的项目在线上: 这次我们先使用本地去学习 ...

  2. Android项目中最火最常用的优秀开源项目(很有用)

    Android项目中最火最常用的优秀开源项目 分类 详细 框架名称 简介 Star 数 最近 更新 UI 刷新 SmartRefreshLayout Android 智能下拉刷新框架 7.7k 1天 ...

  3. 飞腾cpu服务器浪潮信息,从“芯”开始飞腾 浪潮发布全国产服务器

    ZDNet服务器频道 3月24日 北京报道 (文/孟庆) 日前,浪潮在北京正式发布了基于国产飞腾处理器的全系列服务器产品"飞腾"系列服务器.此次发布的产品涉及四大系列七款机型,包括 ...

  4. 白嫖项目基于ssm房屋租赁系统源码【开源项目】

    ssm房屋租赁系统 运行工具:idea或eclipse均测试,可以运行. 开发技术: 后端ssm(spring springmvc mybatis)   前端:jsp  jquery 数据库:mysq ...

  5. 推荐!适合C++服务器编程初学者的基础开源项目

    入门C++网络编程,刚开始会学习一些基础API或者书上的回射服务器.聊天室.简单HTTP服务器实现,学完上述基础后,我们肯定想大显身手做一个像样项目,但看来看去也不知道该怎么入手,或者不知道一个像样项 ...

  6. github热门java项目_盘点Github上热门的Java开源项目

    4月份GitHub上最热门的Java开源项目排行已经出炉啦,本月的榜单都被Spring相关的项目占领了,一起来看看上榜详情吧! 1. spring-boot-demo https://github.c ...

  7. python潜力开源项目_2018 年最受欢迎的 Python 开源项目

    3)Flask Flask是一个轻量级的WSGI Web应用程序框架. 入门快速简便,同时能够扩展到复杂的应用程序. 它最初是围绕Werkzeug和Jinja的简单包装器,并且已经成为最受欢迎的Pyt ...

  8. python潜力开源项目_比较了1000多个Python开源项目,精选出这34个

    传智播客博学谷 微信号:boxuegu- get最新最全的IT技能 免费领取各种视频资料 在过去的一年里,Mybridge比较了近1000个的Python开源库,并从中评选出34个最有用的工具来帮助你 ...

  9. java web开源项目源码_适合Java新手的开源项目集合——在 GitHub 学编程

    作者:HelloGitHub-老荀 当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了.在走下坡路了.没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦 ...

最新文章

  1. SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
  2. nginx+lua (一)
  3. 使用FormData进行Ajax请求异步上传图片案例
  4. JQuery 对表单进行初始化操作
  5. 发一个自己写的抓包软件,支持插件化脚本分析
  6. crossdomain.xml配置不当的利用和解决办法
  7. portainer 启动mysql_docker 安装portainer容器后,启动/Portainer 安装MySQL并开启远程访问...
  8. 漫步线性代数二十二——行列式性质
  9. 安全基础知识 细说暴库的原理与方法
  10. 第2章[2.2] Ext JS多类型终端-电脑、移动端(手机、平板)
  11. nmea怎么转wgs84坐标c语言源码,NMEA-0813数据格式说明
  12. 微信小程序学习日记---模板(template)全解析
  13. fastDFS原理及环境搭建
  14. matlab红色爱心,Matlab心形函数动态图
  15. OSChina 周二乱弹 ——人在职场飘,哪能不跳槽
  16. 解决pdf.js下载PDF文件名称中文乱码和不带.pdf后缀名问题
  17. IODE海洋数据门户平台简述
  18. 四、数据仓库--ORACLE数据库卸数实现
  19. 08.vue.js实战笔记(计算属性、v-bind及class和style的绑定、内置指令、方法与事件)
  20. 项目经理和产品经理的区别是什么?从这些方面来看

热门文章

  1. 原来程序员在某个圈子还是蛮吃香的嘛~
  2. 一个关于hashCode的追问!
  3. 骚操作!阿里云直接买www.huaweicloud.com的关键词来抢生意?
  4. 聊一聊:我退钱了!你呢?
  5. macOS Big Sur 使用全新虚拟化框架创建超轻量虚拟机!
  6. 今年大事:年终汇算清缴,你是退还是补?惊喜还是惊吓?
  7. 这一波震撼的福利,你绝对想不到!!!
  8. 服务器返回的信息无效或无法识别的响应,c# - 服务器从Visual Studio返回了无效或无法识别的响应错误 - 堆栈内存溢出...
  9. wpf中内容包含在border中_WPF:点击后聚焦边框(WPF: Focus border after click)
  10. http请求的3位返回码简单解释