[学习笔记]

自定义模块 
使用的是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 自定义模块的发布和安装的更多相关文章

  1. Python中模块的发布与安装

    模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个 ...

  2. (转载)Python中模块的发布与安装

    模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个 ...

  3. 万恶之源 - Python 自定义模块

    自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...

  4. 17.python自定义模块的导入方式

    1.直接用import导入 最后运行main.py可以看到命令行窗口输出了一句:你好,这样就完成了. 2.通过sys模块导入自定义模块的路径path 3.在环境变量中找到自定义模块 这个方法原理就是利 ...

  5. Python自定义模块

    自定义模块 自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组织结构要好,代码不冗 ...

  6. 从入门到自闭之Python自定义模块

    自定义模块 定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数) 作用: 将代码文家化管理,提高可读性,避免重复代码 拿来就用(避免重复造轮子),python中类库比较多,提 ...

  7. Python 自定义模块位置

    1.需要找出Python解释器从哪里查找模块: 具体方法: >>> import sys,pprint>>> pprint.pprint(sys.path)['', ...

  8. Python requests模块在Windows下安装

    发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...

  9. Python 自定义模块的打包和发布

    写了一个Python模块,要求打包发布,供同事们使用,好吧,查了一下,网上大部分教程没有一个能把话说明白,不过最后还是解决了,特此记录一下, 以免下次遇到同样问题,也帮助其他有缘人,哈哈. 首先看一下 ...

随机推荐

  1. YAML基础教程

    一.YAML介绍YAML参考了其他多种语言,包括:XML.C语言.Python.Perl以及电子邮件格式RFC2822.Clark Evans在2001年5月在首次发表了这种语言,另外Ingy döt ...

  2. Python 转化成 PB 格式数据

    一.概述 Protocol Buffers 是 Google 公司开发的一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式.可用于通讯 ...

  3. Windows下安装tesserocr

    很难受,由于这两天重装了系统,又得重新配置环境了,而我在安装tesserocr的时候踩了一些坑,于是想写出来分享一下. 一.安装tesseract 要安装tesserocr,首先要下载tesserac ...

  4. 使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking

    一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中 ...

  5. ASP.NET三层架构项目创建流程

    1.进入VS2010,新建项目—>Visual C#—>Web—>ASP.NET空Web应用程序,如图所示: 2.在解决方案处右击—>新建项目—>Windows—> ...

  6. SSM框架视频资料

    SSM框架视频资料 进行过 Java Web 项目开发的同学,可能都知道 SSM 框架,即 Spring + SpringMVC + Mybatis .很多项目的主体框架都是采用这种模式,这也是 Ja ...

  7. 45个值得收藏的 CSS 形状

    摘要: CSS炫技. 原文:45个值得收藏的 CSS 形状 作者:前端小智 Fundebug经授权转载,版权归原作者所有. CSS能够生成各种形状.正方形和矩形很容易,因为它们是 web 的自然形状. ...

  8. box-shadow内阴影、外阴影

    外阴影: box-shadow:X轴  Y轴  Rpx  color; 属性说明(顺序依次对应):阴影的X轴(可以使用负值) 阴影的Y轴(可以使用负值) 阴影模糊值(大小) 阴影的颜色 内阴影: bo ...

  9. Mysql B+Tree原理

    B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引.B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的.在讲B ...

  10. softmax函数详解

    答案来自专栏:机器学习算法与自然语言处理 详解softmax函数以及相关求导过程 这几天学习了一下softmax激活函数,以及它的梯度求导过程,整理一下便于分享和交流. softmax函数 softm ...