跳转到主要内容

提高Python导入的工具。

项目描述

PyPI

imptools

提高Python导入的工具。

安装

pip3 install imptools

文档

import_path()

从文件系统上的任何路径导入模块。

通常,这可以通过将模块的父目录添加到 sys.pathPYTHONPATH 环境变量中,然后正常导入来实现。然而,这会污染Python的导入路径,可能导致意外导入错误的模块。函数 import_path() 通过从文件系统上的路径导入包来避免这个问题,而不修改Python导入路径。

模块可以是包含 __init__.py 的目录或单个文件。

相对路径相对于调用 import_path() 的源文件所在的目录进行解析。

import imptools

my_module = imptools.import_path(
    '../path/to/my_module',  # Path to a module directory or single file.
    notfound='error',        # Raise 'error' or 'ignore' if not found.
    reload=False,            # Whether to import if already available.
)

import my_module  # Import statement also works.

enable_relative()

为不是作为模块执行的计算脚本启用相对导入。

通常,作为模块一部分并使用相对导入的脚本必须以 python3 -m module.script 运行。但是,这需要处于正确的当前工作目录,可能很烦人。函数 enable_relative() 允许以 python3 script.py 的方式正常执行这些脚本。

自PEP 366以来,这可以通过在脚本中设置 __package__ 变量,导入包或使其在Python导入路径上可用来实现。函数 enable_relative() 在脚本内部,在相对导入之前,通过一个简单的函数隐藏了这一点,该函数可以被导入和调用。

import imptools

imptools.enable_relative()

# Relative imports...

测试

python3 -m pytest tests

项目详情


下载文件

下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

imptools-1.3.0.tar.gz (4.1 kB 查看哈希值)

上传时间 源代码

由以下机构支持