【转】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 ...
随机推荐
- Linux笔记-ps -aux的结果解析
参考: https://blog.csdn.net/flyingleo1981/article/details/7739490 ps 的参数说明ps 提供了很多的选项参数,常用的有以下几个: l 长格 ...
- c# winform 多屏显示
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- 我用Python实现了一个小说网站雏形
前言 前段时间做了一个爬取妹子套图的小功能,小伙伴们似乎很有兴趣,为了还特意组建了一个Python兴趣学习小组,来一起学习.十个python九个爬,在大家的印象中好像Python只能做爬虫.然而并非如 ...
- Linux下安装 Python3
前言 Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如centos下的yum就是python2 ...
- windows下redis安装及配置
1.简介: redis是一个高性能的key-value数据库:redis能读的速度为11万次/秒,写的速度是8.1万次/秒 redis支持丰富的数据类型:String, List, Hash(map) ...
- kafka原理深入研究 (转 )
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- Python 属性描述符和属性的查找过程
属性描述符可以用来控制给属性赋值的时候的一些行为 import numbers class IntField: def __get__(self, instance, owner): return s ...
- @Valid注解的使用(转)
原文地址:http://blog.csdn.net/xzmeasy/article/details/76098188 @Valid注解用于校验,所属包为:javax.validation.Valid. ...
- 第六章· Redis高可用sentinel
sentinel介绍 sentinel实战及配置讲解 sentinel介绍 什么是sentinel? Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Mas ...
- Linux--主从复制
一 . mysql+centos7 mariadb mariadb其实是跟mysql是一样的,只不过是在centos7上叫做mariadb, 主要是因为mysql被甲骨文公司收购后,可能会有闭源的风险 ...