python import 常见问题解答或 sys.path失效处理方案
发布时间
阅读量:
阅读量
不关心故事背景的朋友们可以直接跳到“解决方案”~
文章目录
- 故事背景
- 历史方案
- 解决方案
故事背景
目前在使用thrift的过程中遇到了一个相关问题:这些生成的python文件之间采用的是基于相对路径的引用机制。
thrift_folder
├── base
│ ├── constants.py
│ ├── __init__.py
│ └── ttypes.py
├── model
│ ├── __init__.py
│ ├── constants.py
│ ├── ttypes.py
# model/ttypes.py
import base.ttypes
当Python起始运行文件路径位于thrift_folder之外时, 引用可能会出现错误
历史方案
老前辈们提供了两种解决方案
- 修改所有的import
- 修改os.path
问题出在即使用脚本时,在每个thrift前面必须编写from thrift_folder import base(如果不预先设置__all__ = bulabula并导入*的话),这可能会导致循环引用;然而,在thrift文件中仍然隐藏
全部评论 (0)
还没有任何评论哟~
