Python自定义工具包的安装

Abstract

在学习深度学习的基本算法时,我发现很多操作及其函数是可以重复使用,所以我在思考,身为一个程序员,我是不是可以把这些相对比较常用的操作打包成一个python包,在后续我可以直接import相应的函数即可较少很多操作,再者我再看论文的时候,复现一个算法实现,将算法写成一个函数返回值,这样再我下一次需要调用该算法,我不必重新去写该算法,而是调用函数直接训练,然后将其部署。

Technical background

1.需要清楚python包的结构层次
2.查阅PyPi查看具体操作步骤
注:PyPi的教程可能太过于繁杂规范,我个人不太建议,个人建议去查看相关blog教程

Problem description

自定义工具包的安装,以及其中可能调用相关函数找不到模块的可能问题解决

Implementation and experimentation

1. 创建包结构

首先,确保你的包有一个合适的结构。对于test包,它应该包含一个__init__.py文件以及你的tools.py模块。例如:

test/  
    __init__.py  
    tools.py  
    # 可能还有其他模块或子包

在__init__.py文件中,你可以导入tools模块,这样用户就可以通过test.tools来访问它。

test/init.py:

from . import tools

2.编写setup.py文件

接下来,你需要创建一个setup.py文件来描述你的包以及如何安装它。这个文件将用于构建和分发你的包。你可以使用setuptools库来简化这个过程。

首先,安装setuptools(如果你还没有安装的话):

pip install setuptools

然后,创建setup.py文件:

# setup.py  
from setuptools import setup, find_packages  
  
setup(  
    name='test',  
    version='0.1',  # 你的版本号  
    packages=find_packages(),  # 这会自动找到所有的包和子包  
    # 如果需要,你还可以添加其他选项,如description, author, install_requires等  
)

3. 构建和分发包

使用setup.py文件,你可以构建你的包的分发包(通常是一个.whl或.tar.gz文件)。这可以通过运行以下命令来完成:

python setup.py sdist bdist_wheel

这将生成一个源代码分发包(source distribution)和一个二进制分发包(wheel)。这些文件通常位于dist/目录下。

4. 上传到PyPI(可选)

如果你想让你的包可以被其他人通过pip install直接安装,你需要将你的分发包上传到Python包索引(PyPI)。为此,你需要先注册一个PyPI账户,并使用twine工具上传你的包。

首先,安装twine:

pip install twine

然后,上传你的包:

twine upload dist/*

这会将你的分发包上传到PyPI,之后其他人就可以通过pip install test来安装你的包了。

5. 使用你的包

一旦你的包被安装,用户就可以通过以下方式导入并使用printtest函数:

import test.tools  
test.tools.printtest()  # 调用函数

或者,如果你在test/init.py中正确导入了tools模块,也可以直接使用:

import test
test.tools.printtest()  # 调用函数

确保你的包名、模块名、函数名等都是正确无误的,并且遵循Python的命名规范。此外,在编写和分发包时,注意检查依赖项、兼容性以及文档的完整性,以提供良好的用户体验。

Conclusion

首先以上步骤是使用AI生成的,我已经懒得浪费时间去写重复的东西,而且我也不一定比AI写的更好,以上一定注意init文件的内容,如果为空的话,大概率你写的函数会找不到。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值