Python3 (入门6) 库的打包与安装


本文由 Luzhuo 编写,转发请保留该信息.
原文: http://blog.csdn.net/Rozol/article/details/69402887


以下代码以Python3.6.1为例
Less is more!
Windows10 为例

包结构

库发布前先确认你的库是以下这个结构的.
project 是最外层的库名
package1 是里面的包名
module.py 是具体的模块.
setup.py__init__.py 是必须包含的,下面会讲解

project
┝━ setup.py
┝━ package1
│ ┝ __init__.py
│ ┝ module1.py
│ └ module2.py
└─ package2
┝ __init__.py
┝ module3.py
└ module4.py
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

下面是我的包结构示范图:

module.py

以下为示范,简单写了个测试函数

#coding=utf-8
# module.py 常用模块 def hello():
print("Hello World!") if __name__ == "__main__":
hello()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

setup.py

写入以下内容, 具体含义以注解,根据需求修改

#coding=utf-8
from distutils.core import setup
# 库名 / 版本 / 描述 / 项目地址 / 作者 / 作者邮箱 / 协议 / 关键词 / 模块列表
setup(name="python", version="1.0", description="my python", url='http://luzhuo.me', author="luzhuo", author_email='LZ.Luzhuo@gmail.com', license='MIT', keywords='python', py_modules=['moltest.module'])
  • 1
  • 2
  • 3
  • 4

__init__.py

写入以下内容,具体含义以注解,根据需求修改
可以把所有的模块名都写上

#coding=utf-8
# from myPthon import * 时导入的模块名
__all__=['module']
  • 1
  • 2
  • 3

构建库

cd到project目录执行(有setup.py文件的目录), 执行 构建命令

python setup.py build
  • 1

构建完, 执行 打包命令

python setup.py sdist
  • 1

安装(本地)库

如果拿到的是 xxx.tar.gz 的压缩包,要先完全解压

tar -zxvf xxx.tar.gz
  • 1

完全解压完之后,cd到解压出来的库根目录(有setup.py文件的目录), 执行 安装命令
Windows:

python setup.py install
  • 1

Linux:

sudo python setup.py install --record log
  • 1

安装完后即可执行调用命令

>>> from moltest import *
>>> module.hello()
Hello World!
>>>
  • 1
  • 2
  • 3
  • 4

卸载(本地)库

Windows:

  • 打开目录 C:\Users\LZLuz\AppData\Local\Programs\Python\Python36-32\Lib\site-packages, 删除不需要的模块.
  • 也可搜索 site-packages文件夹.

Linux:

  • log文件里记录的文件删除
  • sudo cat log | sudo xargs rm -rf

pip安装与卸载(网络)库(numpy为例)

  • 安装

    • pip install numpy
  • 卸载
    • pip uninstall numpy
  • 已安装的库
    • pip list

【转】Python3 (入门6) 库的打包与安装的更多相关文章

  1. Python3入门笔记(1) —— windows安装与运行

    Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python的理由之一 Python的安装: 1.进入Python官方网站 ...

  2. Python3 urllib.request库的基本使用

    Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...

  3. python3入门之赋值语句介绍

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...

  4. SharePoint Framework 在web部件中使用已存在的JavaScript库 - 捆绑打包和外部引用

    博客地址:http://blog.csdn.net/FoxDave 在构建SPFx客户端web部件时,你可以使用公网已有的JavaScript库来构建强大的解决方案.但是在使用的时候你需要考虑你引用的 ...

  5. 对python3中pathlib库的Path类的使用详解

    原文连接   https://www.jb51.net/article/148789.htm 1.调用库 ? 1 from pathlib import 2.创建Path对象 ? 1 2 3 4 5 ...

  6. libevent的入门学习-库的安装【转】

    转自:https://blog.csdn.net/lookintosky/article/details/61658067 libevent的入门学习-库的安装最近开始接触Linux应用层的东西,发现 ...

  7. Python3入门机器学习经典算法与应用

    <Python3入门机器学习经典算法与应用> 章节第1章 欢迎来到 Python3 玩转机器学习1-1 什么是机器学习1-2 课程涵盖的内容和理念1-3 课程所使用的主要技术栈第2章 机器 ...

  8. 李洪强iOS开发之静态库的打包一

    李洪强iOS开发之静态库的打包一 //静态库一般做一下几种事情 //1 工具类 算法逻辑 新建工具类LHQTools 定义类方法 + (NSInteger)sumWithNum1: (NSIntege ...

  9. Python3下requests库发送multipart/form-data类型请求

    [本文出自天外归云的博客园] 要模拟multipart/form-data类型请求,可以用python3的requests库完成.代码示例如下: #请求的接口url url = "url&q ...

随机推荐

  1. Ubuntu 18.04安装MySQL指南

    前言 Ubuntu18.04想要安装MySQL,只能安装MySQL8.0版本.如果你直接 apt-get install mysql-server 安装,那么恭喜踩坑! 先给出彻底删除mysql5.x ...

  2. DSP到底是个什么鬼?看完你就懂了

    DSP 即数字信号处理技术, DSP 芯片即指能够实现数字信号处理技术的芯片. DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料. DSP 芯片的内部采用程序和数据分开的哈佛结构,具有 ...

  3. SpringCloud(10)使用Spring Cloud OAuth2和JWT保护微服务

    采用Spring Security AOuth2 和 JWT 的方式,避免每次请求都需要远程调度 Uaa 服务.采用Spring Security OAuth2 和 JWT 的方式,Uaa 服务只验证 ...

  4. 程序员买房指南——LZ的三次买房和一次卖房经历

    引言 买房,一直是程序员群体绕不开的一个话题,尤其是到了一定年纪和人生阶段以后,买房这件事会变得越来越迫切. 为什么LZ一上来就说,买房是程序员绕不开的一个话题? 其实原因很简单,由于程序员这个职业的 ...

  5. 微服务领域是不是要变天了?Spring Cloud Alibaba正式入驻Spring Cloud官方孵化器!

    引言 微服务这个词的热度自它出现以后,就一直是高烧不退,而微服务之所以这么火,其实和近几年互联网的创业氛围是分不开的. 与传统行业不同,互联网企业有一个特点,那就是市场扩张速度非常之快,可能也就是几天 ...

  6. jsp篇 之 jsp中的注释

    Jsp中的注释: 第一种: <!-- html/xml中的注释方式 --> 特点: 1.用户在浏览器中右键查看源代码 [能] 看到这个注释. 2.在服务器端,这个jsp页面被翻译成的jav ...

  7. 机器学习---线性回归(Machine Learning Linear Regression)

    线性回归是机器学习中最基础的模型,掌握了线性回归模型,有利于以后更容易地理解其它复杂的模型. 线性回归看似简单,但是其中包含了线性代数,微积分,概率等诸多方面的知识.让我们先从最简单的形式开始. 一元 ...

  8. BZOJ3784树上的路径

    题目描述 给定一个N个结点的树,结点用正整数1..N编号.每条边有一个正整数权值.用d(a,b)表示从结点a到结点b路边上经过边的权值.其中要求a<b.将这n*(n-1)/2个距离从大到小排序, ...

  9. 深入理解PHP的运行模式

    PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli  命令行运行   ( ...

  10. 基于Elastalert的安全告警剖析

    https://www.freebuf.com/sectool/164591.html *本文作者:bigface,本文属 FreeBuf 原创奖励计划,未经许可禁止转载. elastalert 是一 ...