zoukankan      html  css  js  c++  java
  • 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 FilesPython36Libsite-packages


    版权声明:本文为转载文章,原文地址:https://blog.csdn.net/Chujianlong321/article/details/89075185

  • 相关阅读:
    私有数据
    三大框架的对比
    angular的优化
    teamview centos 配置
    各种语言HMAC SHA256实现
    HttpClient使用cookie
    Mysql 安装
    iOS Safari 中点击事件失效的解决办法
    java验证码Captcha
    js 表单验证
  • 原文地址:https://www.cnblogs.com/haima1949/p/10773798.html
Copyright © 2011-2022 走看看