【转】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 ...
随机推荐
- 乡下人重拾MVC——@RenderBody @RenderSection @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction
1. @RenderBody() 代表:是一个占位符,是留给子页面的位置,子页面使用这个模版,子页面中的内容会被放到@RenderBody的位置.合并后当作一个整体加载 2. @Render ...
- iview render input每输入一个字符就会自动跳出焦点
假如你绑定的table的数据是tableData,input数据改变的时候你把整行的数据替换掉,就不会造成table重新渲染,导致input失焦了 h('InputNumber', { props: ...
- ST表
ST表的原理及其实现 ST表类似树状数组,线段树这两种算法,是一种用于解决RMQ(Range Minimum/Maximum Query,即区间最值查询)问题的离线算法 与线段树相比,预处理复杂度同为 ...
- 【转】How to create a new user and grant permissions in MySQL
MySQL is one of the most popular database management systems. In this tutorial we will cover the ste ...
- EntityFramework Core笔记:入门(1)
1. 安装运行环境 EntityFramework Core运行环境,安装NuGget包: //Sql Server Database Provider PM> Install-Package ...
- 三、调试IIS启动域名配置
一.IIS配置启动VS以及域名 1.hosts配置 2.配置 注意: 1.Web和Api 端口在IIS都设置80即可,都可以同时运行不冲突,与vs的IIS express启动方式不同vs会指定不同的两 ...
- Linux 学习 (九) 网络基础
Linux网络管理 学习笔记 ISO/OSI 七层模型 ISO :国际标准化组织 OSI :开放系统互联模型 应用层.表示层.会话层服务于用户 传输层.网络层.数据链路层.物理层服务于实际数据传输 帧 ...
- java 中的基本数据类型
1, 变量 Java是强类型语言, 对于每一种数据都定义了类型,基本数据类型分为数值型,字符型,布尔型.数值型又分为了整型和浮点型. 整型又分为byte, int, short long. 浮点型又 ...
- nginx设置目录浏览及解决中文乱码问题
在Nginx下默认是不允许列出整个目录的.如需开启此功能,先打开nginx.conf文件,在location server 或 http段中加入相关参数. http { include mime.ty ...
- Ubuntu16.04 g++5.4依旧不支持C++11问题
jacket@jacket:~$ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_6 ...