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

转载于:https://www.cnblogs.com/langqi250/p/10491888.html

【转】Python3 (入门6) 库的打包与安装相关推荐

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

    Python3入门笔记(1) -- windows安装与运行 Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python ...

  2. Linux qt程序打包依赖库,Linux打包免安装的Qt程序(编写导出依赖包的脚本copylib.sh,程序启动脚本MyApp.sh)...

    本文介绍如何打包Qt程序,使其在没有安装Qt的系统可以运行. 默认前提:另外一个系统和本系统是同一个系统版本. 1,编写导出依赖包的脚本copylib.sh #!/bin/bash LibDir=$P ...

  3. python3下载安装windows教程-Python3入门笔记(1) —— windows安装与运行

    Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python的理由之一 Python的安装: 点击导航栏的 Downloa ...

  4. python3入门到精通 pdf_解析《Python3标准库》PDF中英文代码+《算法之美指导工作与生活的算法》PDF中英文+《Scratch编程从入门到精通PDF》趣学...

    我想Python之所以流行,原因在于:1. 语言本身优美,表达力强.适合做快速原型开发.且学习曲线平坦,上手快. 2. Python标准库正是应对了这第二点.丰富的库实现得以让python程序员迅速完 ...

  5. python基础代码库-python3.4第三方库的安装?python基础代码库

    python怎么安装下载模块 python安装下载模块的:1.按盘上的[win r]快,打开运行窗口:2.输入cmd,点击定]:3.在打开的命令提示符中执行[pip install 模块名]命令即可. ...

  6. Py之cx_Freeze:Python库之cx_Freeze库(程序打包)简介、安装、使用方法详细攻略—案例之实现机器人在线24小时智能翻译

    Py之cx_Freeze:Python库之cx_Freeze库(程序打包)简介.安装.使用方法详细攻略-案例之实现机器人在线24小时智能翻译 导读      将Python程序生成exe程序目前流行这 ...

  7. python打包库_Python 打包自己的库到 PYPI (可pip安装)

    背景 在我们安装 Python 库的时候,通常我们都是pip install xxx 真是又酷炫又方便 那么,当我们自己写了一些自认为不错的库,想要分享给大家使用(或者是想要装X时)能不能也能做到这样 ...

  8. python 入门题库————python语句和基础数理

    python 入门题库 python 题库 Python使用符号_______表示注释 Python不支持的数据类型有 查看python版本的命令是 在Python中,print(type(16/4) ...

  9. Boost 1.59.0 编译支持Python3的链接库,生成vc120或vc140

    Boost 1.59.0 编译支持Python3的链接库,生成vc120或vc140 官方编译的Boost中只带了Python2的链接库,Python3的链接库需要自己特别编译,官方编译版下载地址:h ...

最新文章

  1. 成功解决from nets import inception_resnet_v2 ModuleNotFoundError: No module named 'nets'
  2. Quartus II11.0安装教程
  3. 找出得分最高的无重复子段
  4. 右键新建中增加新建.md文件
  5. Vue CLI 3.0正式发布!
  6. CAD图纸上面缺失的线条如何将其进行补充?
  7. xcode5 ios7 64位 iphone5s引用第三方库报错的解决办法
  8. Android usb audio录音(四)
  9. 利用console.time优化js代码
  10. string与StringBuilder 性能差距到底有多大
  11. 实验五—JEPG 原理分析及 JPEG 解码器的调试
  12. 图像轮廓提取算法(Opencv基于C++实现)
  13. python车辆定位调度管理系统,基于django+twisted
  14. “万年老大难” - 沟通与协调
  15. 嵌入式关键字英文对照
  16. Scala之set方法(超详细)
  17. 《乔布斯传》圈点(7)
  18. Shared Project
  19. VHDL语言基础-概述
  20. 目标跟踪常用算法——CKF篇

热门文章

  1. SAP QM初阶之明明存在检验计划但是生成的检验批取不到?
  2. SAP QM初阶之取样策略如何确定检验批Sample Size?
  3. 详细说说Transformer (超详细图解,一图胜千言)
  4. SAP 序列号与库存关联起来?
  5. 人工智能医疗是把双刃剑,“对抗性攻击”后可导致误判
  6. 无人驾驶汽车想要“普渡众生”,还要经历15个磨难
  7. 全球最具影响力AI机构TOP100排名:中国5所高校1所研究院入围
  8. 心得丨深度学习的技术原理、迭代路径与局限
  9. Python 之 Matplotlib (二)figure
  10. Android Studio安卓开发中使用json来作为网络数据传输格式