如何创建 Python 库(二)

简介: 笔记

第 3 步:创建文件夹结构

这一步,也就是创建我们开发库所需要的文件。

在 Pycharm 中,打开您的文件夹 mypythonlibrary(或你自己创建的文件夹名称)。它应该是这样的:

8.png

你现在可以开始向项目添加文件夹和文件。您可以通过命令提示符或在 Visual Studio Code 本身中执行此操作。


1.创建一个名为 setup.py 这是创建 Python 库时最重要的文件之一!

2.创建一个名为 README.md 你可以在此处编写 Markdown 以向其他用户描述我们的库内容。

3.创建一个名为 mypythonlib ,或者任何您希望在 pip 安装时调用 Python 库的文件夹。(如果你想稍后发布它,该名称在 pip 上应该是唯一的。)

4.在 mypythonlib 文件夹里面,创建名为 __init__.py 基本上,任何包含文件的 __init__.py 文件夹,在我们构建库的时候,包含在库中。大多数情况下,您可以将 __init__.py 文件留空,也就是不用写代码。导入时,其中的 __init__.py 将被执行,因此它应该只包含能够运行您的项目所需的最少量代码。现在,我们将保持原样。

5.此外,在 mypythonlib 文件夹中,创建一个名为 myfunctions.py

6.最后,在您的根文件夹中创建一个文件夹测试。在里面,创建一个空 __init__.py 文件和一个空的 test_myfunctions.py

你所创建的文件夹和代码文件,现在应如下所示:

9.png


第 4 步:为您的库创建内容

要将函数放入库中,您可以将它们放入 myfunctions.py 文件中。例如,复制文件中的 hasrsine 函数:

10.png

这个函数将给出两个纬度和经度点之间的距离,单位为米。

每当您编写任何代码时,都强烈建议同时为该代码编写测试。对于 Python 测试,可以使用 pytest 和 pytest-runner 库。在虚拟环境中安装库:

11.png

让我们为 haversine 函数创建一个小测试。复制以下内容并将其放入 test_myfunctions.py 文件中:

12.png

最后,让我们创建一个 setup.py 文件,它将帮助我们构建库。setup.py 的内容如下所示:

13.png


目录
相关文章
|
5天前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
14天前
|
Shell Python
Python 的 os 库的应用实例
Python 的 os 库的应用实例
17 3
|
14天前
|
Linux Python Windows
Python sys 库的应用实例
Python sys 库的应用实例
20 3
|
14天前
|
Python
Python 中的 spell checker 库
Python 中的 spell checker 库
28 1
|
16天前
|
人工智能 搜索推荐 API
使用 Python holidays 库获取中国节日
使用 Python holidays 库获取中国节日
64 2
|
17天前
|
Shell Python
jabita-python库劫持提权-suid
jabita-python库劫持提权-suid
17 3
|
17天前
|
Python
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
52 3
|
19天前
|
Rust 监控 编译器
解密 Python 如何调用 Rust 编译生成的动态链接库(一)
解密 Python 如何调用 Rust 编译生成的动态链接库(一)
30 2
|
19天前
|
存储 编解码 API
分享一个 Python 处理音频的库
分享一个 Python 处理音频的库
18 2
|
20天前
|
测试技术 网络安全 数据安全/隐私保护
Paramiko是一个用于处理SSHv2协议的Python库
Paramiko是一个用于处理SSHv2协议的Python库
20 3