python 自定义模块的发布和安装
[学习笔记]
自定义模块
使用的是pycharm
说白了就是.py文件都可以作为模块导入,像定义一个文件 名字为Mycode
__all__ = ["add","sub","mul","div"] # 设置此方法 可以使用导入模块 from Mycode import *
def add(a,b):#写入自定义方法
return a + b
def sub(a,b):
return a - b
def mul(a,b):
return a * b
def div(a,b):
return a / b
if __name__ == "__main__":#限制条件 就是导入这个模块时不执行以下代码 而在这个文件可以执行 因为 name和 main 就是文件名 导入后__main__文件名就发生改变
a = 10
b = 20
print(add(a,b)) >>30
在发布自定义模块之前先谈导入模块 有两种方式 import+导入的模块 和 from.....import .....都熟悉不再详写
还有创建一个包package文件,其实充当文件夹的意思,可以有效的避免重复,包中包含__init__文件,可以在文件中设置起到辅助导入模块作用。导入时就直接加上包名就可以。
可能还会出现无法导入的问题,注意导入时留意目录结构,若是三级目录要连同二级目录一起导入,同时目录名不要写数字。
若是要在别的项目中也要导入此模块就涉及到模块的发布安装。
导入模块前要检查路径,若是系统查找模块路径中没有就要添加路径,以及要注意路径搜查顺序是依次执行的
import sys #导入sys模块
sys.path.append("要添加的路径")注意路径符号 “\” 反斜杠表示转义 报错时可以使用 “\\” 或直接使用 “/”
如sys.path.append(“E;/preactive/dayis”) 就可以使用导入模块
自定义模块发布安装
在同文件夹下生成set.up为名的函数
编辑setup文件
from distutils.core import setup
setup(name='压缩包的名字',version='1.0',description='描述',
author='me"',py_modules=['package1.模块1','package1.模块2',
'package2.模块1'])#为模块名 一个就写一个即可 ,使用的是包和set.up文件
编辑完成将包(包内有__init__文件和Mycode文件)和set.up文件复制到桌面并创建文件夹
在文件夹路径格中直接打cmd 就出现命令提示符 就省去复制路径的功夫
要发布的目录结构(uft-8格式)
|----setup.py
|----package1
|----module1
|----module2
|----package2
|----module3
|----module4
构建模块
DOS窗口找到该文件
python setup.py build
生成发布压缩包
python setup.py sdist
自定义模块的安装、使用
安装的方式
找到模块的压缩包
解压
进入文件夹
执行命令 python setup.py install
注意:如果在install的时候,
指定目录安装,可以使用
python setup.py install --prefix=安装路径
暴力安装
不提倡,文件繁多误删会很难恢复
直接将包复制到 pycharm 中 项目底部 External libraries --python3.6--lib --site-packages
C:\Program Files\Python36\Lib\site-packages
版权声明:本文为转载文章,原文地址:https://blog.csdn.net/Chujianlong321/article/details/89075185
python 自定义模块的发布和安装的更多相关文章
- Python中模块的发布与安装
模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个 ...
- (转载)Python中模块的发布与安装
模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个 ...
- 万恶之源 - Python 自定义模块
自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...
- 17.python自定义模块的导入方式
1.直接用import导入 最后运行main.py可以看到命令行窗口输出了一句:你好,这样就完成了. 2.通过sys模块导入自定义模块的路径path 3.在环境变量中找到自定义模块 这个方法原理就是利 ...
- Python自定义模块
自定义模块 自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组织结构要好,代码不冗 ...
- 从入门到自闭之Python自定义模块
自定义模块 定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数) 作用: 将代码文家化管理,提高可读性,避免重复代码 拿来就用(避免重复造轮子),python中类库比较多,提 ...
- Python 自定义模块位置
1.需要找出Python解释器从哪里查找模块: 具体方法: >>> import sys,pprint>>> pprint.pprint(sys.path)['', ...
- Python requests模块在Windows下安装
发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...
- Python 自定义模块的打包和发布
写了一个Python模块,要求打包发布,供同事们使用,好吧,查了一下,网上大部分教程没有一个能把话说明白,不过最后还是解决了,特此记录一下, 以免下次遇到同样问题,也帮助其他有缘人,哈哈. 首先看一下 ...
随机推荐
- 安卓开发笔记(三十一):shape标签下子类根结点的具体使用
在我的上一篇博文当中阐述了我们如何使用shape标签进行自定义控件,这里对shape控件的属性进行阐述,不知道如何使用这些属性的可以参见我的上一篇博文(自定义Button):https://www.c ...
- 兄弟俩畅游Tomcat城市的SpringMVC科技园区
Tomcat城市 Tomcat这座城市的历史相当悠久了,经历过几次大的变迁后,呈现出非常明显的地域特征. 从城市往西走,过了城乡结合部以后,可以说是满目疮痍.一片破败,这就是Servlet地区,这座城 ...
- Mybatis:缓存,动态SQL,注解SQL以及动态标签使用
1 转义字符 字符 转义 描述 < < 小于 <= <= 小于等于 > > 大于 >= >= 大于等于 <> <> 不等于 &a ...
- 基于 websocket 实现的 im 实时通讯案例
分享利用 redis 订阅与发布特性,巧妙的现实高性能im系统.为表诚意,先贴源码地址:https://github.com/2881099/im 下载源码后的运行方法: 运行环境:.NETCore ...
- 微信小程序 组件通信相关知识整理
1.自定义组件间通信与事件 https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.htm ...
- 女朋友也能看懂的Zookeeper分布式锁原理
前言 关于分布式锁,在互联网行业的使用场景还是比较多的,比如电商的库存扣减,秒杀活动,集群定时任务执行等需要进程互斥的场景.而实现分布式锁的手段也很多,大家比较常见的就是redis跟zookeep ...
- JavaScript构造函数
JavaScript不同于其他强类型语言,没有类的概念,但是它支持可以与实例共同使用特殊的Constructor构造器,使用new关键字创建新的实例,并告知JavaScript使用对象的内规则去定制这 ...
- traefik 结合 docker-compose 的快速安装及使用
traefik 介绍 traefik 是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理.负载均衡工具. 它支持多种后台 (Docker, Swarm, Kubernetes, Maratho ...
- MVC、MVP、MVVM 模式对比
MVC.MVP和MVVM这些开发模式为了分离视图(View)和模型(Model)而提出来的,直白说就是为了前后端分离. 1. MVC(Model View Controller)模式 MVC是比较直观 ...
- 关于ios的光标和键盘回弹问题
最近再做项目的时候(移动端),遇到了两个小问题,一个是ios端键盘不回弹的问题(微信浏览器),另一个是ios输入光标位置问题.首先看第二个问题: 就是点击一个按钮,要把输入框里面原来的内容加上一些固定 ...