前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python之本地模块/包使用和创建

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

作者头像
李小白是一只喵
发布2020-04-24 08:45:54
2.2K0
发布2020-04-24 08:45:54
举报
文章被收录于专栏:算法微时光算法微时光

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

代码语言:javascript
复制
def add(x,y):
    return x+y

def main():
    pass

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

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

代码语言:javascript
复制
from setuptools import setup

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

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

代码语言:javascript
复制
$ python setup.py check

image.png

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

修改后:

代码语言:javascript
复制
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

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

代码语言:javascript
复制
python setup.py bdist_egg

打包前:

image.png

打包后:

image.png

第三步:安装install
代码语言:javascript
复制
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设置、导入第三方模块

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模块
  • 使用第三方的包的方法
  • python项目
  • 如何制作自己的安装包
  • 本地不安装使用包
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档