python-3.x - 创建python包的最佳编码实践是什么
问题描述
我正在创建pypi
python 包,为此我厌倦了在不同网站上提供的许多解决方案。
- 首先,我遵循了这个Approach1,在这个方法中作者已经创建了
class
,functions
但是当尝试这个时,我的包给了我一个错误,no module
并且class name is not define
- 我厌倦了许多其他方法,比如这种方法2,作者在这种方法中只创建了
functions
没有class
和__init__.py
- 然后尝试了这个也很常见的方法3
这是pypi
官方提供的重要文件结构
├── LICENSE
├── README.md
├── example_pkg
│ └── __init__.py
├── setup.py
└── tests
我已经准备好我的包裹,但是在花了一整夜找到最佳编码实践之后?现在很困惑
所以我的问题如下
- 文件有什么用
__init__.py
? - 给出目录、类和函数名称的最佳实践,以便在导入过程中有所帮助。因为根据这些答案,有些人说导入目录名称,有些人说文件名后跟类等。
- 任何人都可以为我提供适当的步骤,以便我也可以在即将推出的包裹中跟进
解决方案
我建议遵循https://packaging.python.org上的 Python Packaging Authorities 指南和教程。
此外,PyPA 发布了一个示例项目框架,您可以将其用作起点:https ://github.com/pypa/sampleproject/
推荐阅读
- javascript - Angular 10 --proxy.conf 没有将请求重定向到目标
- spring - 在 MongoDB 中搜索,条件是每个属性只能得到一个结果,最高版本
- android - 从后台恢复时如何重新启动 nativescript 应用程序?
- r - 直接从 FRED 网站提取数据以在 R 中创建数据框
- google-cloud-platform - 加载操作中的 GCP Bigquery 错误:缺少字节
- java - java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64: 来自使用 Maven 导入的库 jar
- swift - SwiftUI:视图短暂闪烁白色
- r - 交叉两组坐标以计算最小距离?(tidyr geosphere R)
- angular - 复选框上的角度绑定不适用于模型
- macos - 如何在 macOS 上让 Android 模拟器全屏显示?