zoukankan      html  css  js  c++  java
  • 【转】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:UsersLZLuzAppDataLocalProgramsPythonPython36-32Libsite-packages, 删除不需要的模块.
    • 也可搜索 site-packages文件夹.

    Linux:

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

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

    • 安装
      • pip install numpy
    • 卸载
      • pip uninstall numpy
    • 已安装的库
      • pip list
  • 相关阅读:
    79.Word Search
    78.Subsets
    77.Combinations
    75.Sort Colors
    74.Search a 2D Matrix
    73.Set Matrix Zeroes
    71.Simplify Path
    64.Minimum Path Sum
    63.Unique Paths II
    Docker 拉取 oracle 11g镜像配置
  • 原文地址:https://www.cnblogs.com/langqi250/p/10491888.html
Copyright © 2011-2022 走看看