提高Python导入的工具。
项目描述
imptools
提高Python导入的工具。
安装
pip3 install imptools
文档
import_path()
从文件系统上的任何路径导入模块。
通常,这可以通过将模块的父目录添加到 sys.path
或 PYTHONPATH
环境变量中,然后正常导入来实现。然而,这会污染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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e95e3a46d4f0af35412eaaea8be53f05ac33d356a32a5db6309d2e3953e74fd2 |
|
MD5 | 7e6c82bbf4f8fbdb7486a78c777b6180 |
|
BLAKE2b-256 | e4031779cd5b928cae0248ed963f6b782e3f0172aed8302fde00424164cfc41f |