python - 使用共享基本名称的 Python 包
问题描述
考虑两个包:x.y.z
和x.y.w
假设我已经x.y.z
通过安装pip
并且我正在x.y.w
本地测试。
似乎如果我尝试运行import x.y.z
它会失败并出现错误No module named x.y.z
,即使它已安装。如果我切换目录,我可以很好地导入它,但是我不会有x.y.w
. 有什么办法可以同时导入吗?
解决方案
将以下内容添加到我的一些__init__.py
文件中似乎有效:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
(来自https://docs.python.org/3/library/pkgutil.html)
但是我不确定它为什么/如何工作。
有人愿意解释吗?
推荐阅读
- github - 如何将现有的 repo 从 github 克隆到 windows pc
- mongodb - 如何将带有数组的集合映射到mongodb中的集合
- c# - Unity C#:值滑块工作但文本不会改变
- c# - Node.js 中的 SOAP 客户端 - XML 签名验证失败
- python - 看似随机的 ssl.SSLError: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 警报内部错误
- android - Mocking AWS Amplify Auth APIs for Android
- python - 从 2 个向量制作矩阵
- c# - 如何在接口中创建可选的泛型方法?
- c++ - Windows 与代码 wxWidgets 的#include
未找到 - javascript - Vue 3 如何正确更新 Highcharts 中的数据?