python - PEP 符合模块调试
问题描述
我的一般问题如下:我有一个包含两个模块的包,其中一个使用另一个模块,我想调试该模块。这里有一个简短的例子:
main.py
package1/
__init__.py
module1.py
module2.py
问题从cannot perform relative import
错误开始,我在 Python 3 中通读了这个相对导入。第一个 awnser 的示例正在运行,但它们本身存在一些问题。我正在使用启用了 pylint 所有警告、错误、提示等的 VSC,并尝试修复所有这些问题。
示例 1
如果模块是唯一的from module2 import class_name
,则使用直接调用可以正常工作,但会导致 pylance 无法找到它并对其进行 linting 的问题。
示例 2
将其放在路径上会导致另一个问题,从而导致 pep 警告。因此,如果导入不在文件顶部,pep 不喜欢它。
import sys
import os
PACKAGE_PARENT = '..'
SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__))))
sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT)))
from package1.module2 import class_name
我在找什么
所以在我看来,
if __name__ == "__main__":
class_name()
模块内部是一种反模式,但是非常容易调试模块的好方法。创建此结构并消除警告的正确方法是什么?我应该删除模块内的类调用并为它们创建调试脚本吗?
解决方案
推荐阅读
- aws-lambda - 立即返回成功响应的 Api 的邮递员测试
- java - Pega Platform 个人版 8.6 登录页面出现 404 错误
- validation - 在 Blazor 中,通过 DataAnnotation 验证 InputText 后执行方法
- swift - 在 Firestore 中,按 unix 时间或时间戳对帖子进行排序会更有效吗?
- encryption - 检测使用 AES CBC 加密的文本是否被填充
- r - (R) ggplot2 标签未正确居中
- sql - 如何在 vs 2019 中抑制模式比较文件的警告
- python - Python如何绘制“分组依据”散点图(列的平均值与百分位数)
- sql - 谁在一个订单中购买了最大数量的产品
- amazon-web-services - 使用 CLI 查找空闲 EC2 实例