python之本地模块/包使用和创建

作者: Lee_5566 | 来源:发表于2019-07-15 19:57 被阅读14次
image.png

模块

模块实质上就是一个python文件。

它是用来组织代码的,文件名其实就是模块名.

例如hello.py hello就是模块的名称.

包(package),本质来说就是一个文件夹,但是其中有一个init.py文件。

包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果想导入其他目录下的模块,那么这个目录必须是一个包才可以导入。

使用第三方的包的方法

一般情况下使用pip安装第三方包:

安装新包: pip install xxxx
卸载已安装的包:pip uninstall xxxx
更新已安装的包: easy_install install xxxx -U
查看已安装的包: pip list

python项目

一个完整的结构需要满足以下的条件:

  1. 拥有一个在版本管理之下的源码目录
  2. 程序信息在setup.py中定义
  3. 在一个virtualenv环境中运行

如何制作自己的安装包

如何让自己写的包能被人当作第三方库安装?
首先了解下什么是setuptools?

什么是setuptools

setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。

使用时使用import setuptools导入即可.

image.png image.png
第一步:创建代码和文件夹

mytest目录下创建代码__init__.py

def add(x,y):
    return x+y

def main():
    pass

if __name__ == '__main__':
    main()
第二步:创建setup.py

mytest文件夹同级目录下创建一个setup.py:

from setuptools import setup

setup(
    name = 'mytest',
    version = '0.1',
    author = 'BYManbu',
    packages = ['mytest'],
)

使用命令检测setup.py是否语法正确:

$ python setup.py check
image.png

语法有误,继续修改......

修改后:

from setuptools import setup

setup(
    name = 'mytest',
    version = '0.1',
    author = 'BYManbu',
    author_email = 'bymanbu@126.com',
    url = 'https://pypi.org/help/',
    packages = ['mytest'],
)

ok, 这次顺利通过检测.O(∩_∩)O

打包目录
使用命令进行打包:

python setup.py bdist_egg

打包前:


image.png

打包后:

image.png
第三步:安装install
python setup.py install

验证下是否安装成功:


image.png

ok, 这样就可以在本地使用了.O(∩_∩)O

当然也可以上传PyPI让其他人使用.

本地不安装使用包

对于python程序来说,有个环境变量sys.path的概念.

sys.path中记录这python使用包时候搜索的路径
可以打印sys.path查看:

其中/usr/local/lib/python2.7/dist-packages/mytest-0.1-py2.7.egg就是刚才我们安装的自定义库.O(∩_∩)O

如何使用未安装的库?

使用本地的包(不经过安装的),需要执行如下步骤:

  1. import sys
  2. 添加sys.path.append(包的绝对路径)

参考

Python的模块引用和查找路径
Python学习笔记十_模块、第三方模块安装、模块导入
(转)为Python添加默认模块搜索路径
第三章:python项目的结构和包的创建
导入他人写的Python包&创建自己的Python包
如何创建自己的python包
如何将自己的Python程序打包--setuptools详解
Python环境变量PYTHONPATH设置、导入第三方模块

相关文章

  • python之本地模块/包使用和创建

    模块 模块实质上就是一个python文件。 它是用来组织代码的,文件名其实就是模块名. 例如hello.py he...

  • Python包及其引入方法

    一、Python包 模块所在目录看做是包,目录名即为包名。 二、Python包创建 创建过程举例(模块中不包含类)...

  • 2019-04-30 手把手教你用pytorch实现迁移学习(第

    一.导入所需要的包: 1 导入和数据处理相关的python包 2 导入本地模块和函数 二.导入数据集: 使用Tor...

  • 2020-08-02模块的使用

    模块的基本使用步骤 创建模块(按照以前的讲解方式创建模块,创建包,创建类,定义方法)为了体现模块的使用,创建两个模...

  • Python中的包

    目录 什么是python的包与模块 包的身份证 如何创建包 包的倒入 模块的导入 什么是pytlhon的包 包就是...

  • Python模块与包@2018-11-21

    Python模块与包 python语言中,如果希望实现代码的重用,除去使用类之外,模块与包是不错的选择。在此对模块...

  • 核心开发

    Python核心开发 一.包和模块 1. 包和模块的定义 为了更加有好的对python代码进行管理,出现了包和模块...

  • Python中的模块与包

    目标 了解模块 导入模块 制作模块 __all__ 包的使用方法 一. 模块 Python 模块(Module),...

  • 模块

    1.1 python 中的模块介绍和使用 模块好比是工具包, 想要使用这个工具包中的工具(函数),就需要导入这个模...

  • python 2.7 -> python 3.7 升级记录

    更换的模块 python 3.7 模块名python 2.7 模块名python 3.7 包python 2.7包...

网友评论

    本文标题:python之本地模块/包使用和创建

    本文链接:https://www.haomeiwen.com/subject/hychkctx.html