python使用自己的模块,以及模块的发布和安装,方法总结

 

 

创建一个自己的Kevin_Modules文件夹,里面有__init__.py 、K_fuction01.py,K_fuction02.py

python使用自己的模块,以及模块的发布和安装,方法总结_第1张图片

K_fuction01.py:

def show_1():
    print("this is K_fuciont01.show_1()")

K_fuction02.py:

def show_2():
    print("this is K_fuction02.show_2()")

__init__.py:

__all__=["K_fuction01","K_fuction02"]

 

方法一:

 

    在同一目录下,

    就直接使用from xxx[自己的写的py文件名] import xxx[py里面的函数]

    或者 import 自己的写的py文件名

    例如:我在K_fuction02里包含K_f01就可以。

def show_2():
    print("this is K_fuction01.show_2()")

import K_fuction01
K_fuction01.show_1()  

方法二:

    不在同一目录下:(但距离很近):两种

    2.1法 使用sys临时添加路径:

python使用自己的模块,以及模块的发布和安装,方法总结_第2张图片

# 2018-9-12 更
import os
import sys
if __name__== '__main__':
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    print(BASE_DIR)
    sys.path.append(BASE_DIR)

    2.2法 直接指明路径,去包含。(测试环境py3)把kevin_modules文件夹当成一个mod集合

   python使用自己的模块,以及模块的发布和安装,方法总结_第3张图片

至此,现在文件夹情况:

python使用自己的模块,以及模块的发布和安装,方法总结_第4张图片

方法3:

    创建成可以上传,共享的压缩包,安装包,然后本地再安装一下,这样就可以在任何工作路径下都可以使用,即自己写的模块以及作为一个正常的模块可以包含了。

1.在Python 里创建setup.py:

from distutils.core import setup
setup(name="kevin",version="1.0",description="this is a module made by kevin",author="kevin",py_modules=["kevin_modules.K_fuction01","kevin_modules.K_fuction02"])

2.在Python文件夹该级目录下启用shell,输入:python setup.py build。将会创建一个build.,查看结构和原py模块包,路径相仿,有lib等。

python使用自己的模块,以及模块的发布和安装,方法总结_第5张图片

3.制作模块压缩包:python setup.py sdist,在当前目录下生成了一个模块名加版本的模块压缩包

python使用自己的模块,以及模块的发布和安装,方法总结_第6张图片

在dist下会有一个做好的tar.gz文件。(这个压缩包可以分享给好友安装,也可以发到githut里)

解压文件夹,进入到有setup.py目录路径里

命令: python setup.py install(默认导入到python系统中,即python安装目录,可任意使用)

2019-11-28 更: 其实不用解压也可,直接通过 pip install xxx.tar.gz 安装,此方法对其他下载的py包通用。

系统模块包文件下能看到自己的模块以及存在

以及在Python里面能够直接调用

python使用自己的模块,以及模块的发布和安装,方法总结_第7张图片

 

 

你可能感兴趣的:(Python)