JSII生成的Python包无法访问TypeScript导出成员问题排查
问题排查与解决
核心原因
你配置的Python目标module为jsii_test.jsii_test,这意味着JSII生成的Python包采用嵌套模块结构,Greeter和GreeterProps并不在根模块jsii_test下,而是在子模块jsii_test.jsii_test中。
解决步骤
- 正确导入方式:使用嵌套路径导入,而非直接导入根模块
from jsii_test.jsii_test import Greeter, GreeterProps - 验证包结构:查看Python环境的
site-packages/jsii_test目录,确认存在jsii_test子目录,且该子目录的__init__.py文件中导出了Greeter和GreeterProps类/接口 - 快速测试:如果不确定路径,可先导入子模块再访问成员
import jsii_test.jsii_test as greeter_module greeter = greeter_module.Greeter(greeter_module.GreeterProps(name="test"))
额外说明
你的JSII配置是正确的:distName对应PyPI上的包名jsii-test.jsii-test,module对应Python的实际导入路径。问题出在导入时没有匹配嵌套模块的结构,而非构建或上传环节。
内容的提问来源于stack exchange,提问作者Comfortably Numb
相关产品推荐
相关产品推荐

