【转】Python3 (入门6) 库的打包与安装
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) 库的打包与安装的更多相关文章
- Python3入门笔记(1) —— windows安装与运行
Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python的理由之一 Python的安装: 1.进入Python官方网站 ...
- Python3 urllib.request库的基本使用
Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...
- python3入门之赋值语句介绍
获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...
- SharePoint Framework 在web部件中使用已存在的JavaScript库 - 捆绑打包和外部引用
博客地址:http://blog.csdn.net/FoxDave 在构建SPFx客户端web部件时,你可以使用公网已有的JavaScript库来构建强大的解决方案.但是在使用的时候你需要考虑你引用的 ...
- 对python3中pathlib库的Path类的使用详解
原文连接 https://www.jb51.net/article/148789.htm 1.调用库 ? 1 from pathlib import 2.创建Path对象 ? 1 2 3 4 5 ...
- libevent的入门学习-库的安装【转】
转自:https://blog.csdn.net/lookintosky/article/details/61658067 libevent的入门学习-库的安装最近开始接触Linux应用层的东西,发现 ...
- Python3入门机器学习经典算法与应用
<Python3入门机器学习经典算法与应用> 章节第1章 欢迎来到 Python3 玩转机器学习1-1 什么是机器学习1-2 课程涵盖的内容和理念1-3 课程所使用的主要技术栈第2章 机器 ...
- 李洪强iOS开发之静态库的打包一
李洪强iOS开发之静态库的打包一 //静态库一般做一下几种事情 //1 工具类 算法逻辑 新建工具类LHQTools 定义类方法 + (NSInteger)sumWithNum1: (NSIntege ...
- Python3下requests库发送multipart/form-data类型请求
[本文出自天外归云的博客园] 要模拟multipart/form-data类型请求,可以用python3的requests库完成.代码示例如下: #请求的接口url url = "url&q ...
随机推荐
- OCR技术浅析-自写篇(2)
本例仅以本人浅薄理解,妄想自制文字识别程序,实际在识别部分未有完善. <?php class readChar{ private $imgSize; //图片尺寸 private $imgGd2 ...
- 如何用java发送Http的post请求,并传递参数
书写方法,请参考以下代码: package utils; import java.io.BufferedReader; import java.io.IOException; import java. ...
- vue组件之前嵌套
https://www.cnblogs.com/chengduxiaoc/p/7099552.html <!DOCTYPE html> <html lang="en&quo ...
- vue.js实战——splice使用
Vue在检测到数组变化时,并不是直接重新渲染整个列表,而是最大化地复用DOM元素.替换的数组中含有相同元素的项不会被重新渲染,因此可以大胆地用新数组来替换就数组,不用担心性能问题. 需要注意的是,以下 ...
- Netty 5 io.netty.util.IllegalReferenceCountException 异常
异常信息 io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1 原因 handler 继承了 SimpleChan ...
- iOS Button添加阴影 和 圆角
用iamgeview 加手势代替 self.headimageview = [[UIImageView alloc] initWithFrame:CGRectMake(IPHONEWIDTH(13), ...
- 膜拜rqy
今晚rqy大佬进行了一番演讲,说是演讲他自己都不大信... 不过今晚确实有收获. rqy大佬本身自带好学属性,我在初中部机房就只有打游戏,就此来说我无法与他比较.所以我们之间的差距显然早就巨大化.他自 ...
- 怼天怼地怼空气的Linus喜欢怎样的工作方式?
Linus Torvalds的“暴脾气”是出了名的,看到令自己不爽的事情就会怼过去,比如: 他曾经说Intel提交的漏洞修复程序是彻底的垃圾! 当别人说Git没用C++开发的时候, 他反击说“C++是 ...
- 【NLP】Conditional Language Models
Language Model estimates the probs that the sequences of words can be a sentence said by a human. Tr ...
- centos7.4 linux 指令
1.查看版本 lsb_release -a 2.查看mysql路径 whereis mysql 3.查看编码 locale 修改语言编码 经过在网上查找资料发现,Centos 7已经不采用/etc/s ...