吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1543|回复: 0
收起左侧

[Python 转载] 【笔记】自定义模块跨项目使用——模块的发布及安装

[复制链接]
cccyyys 发表于 2021-7-4 15:23
自定义模块跨项目使用
以之前的MyMath为例,我们自定义模块之后,我们可以在当前项目中导入该自定义模块,但是当我们打开另一个项目时,就会发现无法导入MyMath,显示无法找到该模块,显示No moudule named "MyMath",无法找到该模块。
无法找到该模块.png
这是因为Python导入模块是按照固定的路径进行查找,如果在所有路径中都无法找到,就会报错,我们可以导入sys,使用sys.path 查看索引路径。
[Python] 纯文本查看 复制代码
import sys
list1 = sys.path
for i in list1:
    print(i)

模块索引路径.png
这是Python中模块所有的索引路径,如果需要跨项目使用,就必须将MyMath模块导入到索引路径中。有两种方法。
一、在另一个项目中手动添加MyMath模块
因为sys.path 是一个列表,所有可以使用列表添加元素的方式添加索引路径,将MyMath模块路径复制,然后使用sys.path.append  添加
[Python] 纯文本查看 复制代码
import sys
#路径分隔符的两种表示方式:1、“\\”,2、"/"
sys.path.append("D:\\PycharmProjects\\module\\package1")
list1 = sys.path
for i in list1:
    print(i)
import MyMath
print(MyMath.add(10,20))

添加路径后结果.png
可以发现索引路径中已经加入了包package1,并且已经可以成功使用。
二、发布模块并使用
第二种方法就是讲模块发布,发布完成后在进行导入使用。
发布模块分为一下几步:
1、确定发布模块的目录结构:
|--setup.py
|--package1
     |
      --自定义模块  MyMath
2、setup的编辑工作:使用setup函数进行模块的编辑工作
[Python] 纯文本查看 复制代码
from distutils.core import setup
setup(name = "自定义压缩包",version = "1.0",description = "描述(可不写)",
author = "作者(可不写)",py_modules = ["package1.MyMath"])

将需填写选项填写好之后就是构建模块。
3、构建模块。将项目中的package1和setup.py文件复制到单独的文件夹中,使用cmd命令行找到该文件夹的位置,然后使用Python setup.py build 即可完成模块的构建。
放到特定文件夹中.png 模块构建完毕.png
模块构建完毕后文件夹中会多出一个build文件夹
4、发布模块。模块构建完毕之后再使用Python setup.py sdist 完成模块的发布
二、安装模块
1、使用命令行安装
解压缩dist文件夹中的压缩包,cmd命令行进入该文件夹位置,使用命令python setup.py install 即可完成模块的安装。安装完成后就可以像系统模块一样直接跨项目导入使用了。
2、暴力安装
直接将要安装的包以及模块,复制到对应的系统目录中,即可完成安装,该方法如果操作失误易对开发环境造成影响,不建议使用

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 15:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表