无需头痛的 Python 导入
项目描述
路径导入
这个简单的 python 模块允许优雅地处理 python 上的项目导入,而不会让人头疼。
为什么是路径导入?
在 python 项目中使用 import 语句可能会导致许多令人头疼的问题和微妙的问题。在 python 中导入需要深入了解解释器如何在运行时加载其他模块和脚本。当您的项目部署在您的开发环境之外时,滥用导入可能会导致问题;甚至在此之前,进口可以隐藏许多陷阱。这个包想要简化 python 用户的生活,允许他们毫不费力地从同一个项目的其他脚本中执行导入。
安装
pathimport 模块可以通过 pip 安装。
pip install pathimport
用法
假设有一个具有以下结构的 python 项目。
module
├── submodule_a
│ └── script_a.py
├── submodule_b
│ └── script_b.py
└── common.py
在里面common.py我们定义了以下函数,
def fun_common():
# do things...
而在script_a.py我们定义了以下内容。
def fun_a():
# do things...
为了避免使用相对导入,可以使用 pathimport 将这些函数加载到script_b.py.
from pathimport import set_module_root
set_module_root("..")
# from now on all the imports can be
# perfomed from the module root
from common import fun_common
from submodule_a import fun_a
if __name__ == "__main__":
fun_common()
fun_a()
可选地,模块/项目名称可以用作前缀。
from pathimport import set_module_root
set_module_root("..", prefix=True)
from module.common import fun_common
from module.submodule_a import fun_a
引擎盖下
为了解决解释器导入歧义,set_module_rootpathimport 修改PATH环境变量以指向模块根目录(如果prefix设置为True ,则指向前面的目录)。出于这个原因,解释器将能够正确地本地化和从文件系统导入您的脚本,而不会出现其他问题,具体取决于当前工作目录,或者源代码是作为脚本还是作为模块启动的。
其他资源
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
pathimport-0.0.3.tar.gz
(2.8 kB
查看哈希)
内置分布
pathimport-0.0.3-py3-none-any.whl
(3.0 kB
查看哈希)
关
pathimport -0.0.3.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 581e0dcb61f139477994d5a2eae20fcbf8f5f9c9261e9082216a3cb04bd0ae24 |
|
| MD5 | ad7ed31ca55d333274350e1e0180f0ef |
|
| 布莱克2-256 | 345d70a5f44ed629642fb2df997294f58eed05f6c9ca651b28fc3973a0c6c14d |
关
pathimport -0.0.3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ae9bbfc7f47b4ce498afcb7da10eb03ce8c3583a8d8ac6f51f4127d96bcc2224 |
|
| MD5 | d6c91da63bf044500eaa286f1c221f1c |
|
| 布莱克2-256 | ea39e2a482b258bad1ddaf3ae7d7d5852eb55629b7d4751ec76a9a889060b2ac |