木兰编程语言不同运行版本的 Python sys.path 差异小结
上文中的两个问题之一,是发布到 PyPI 的版本在运行时有个测试未通过:测试/引用/引用本地包内py.ul,而开发版和木兰原始可执行文件是通过的。 由于这是第一次发觉 PyPI 发布版本的行为差异,于是优先研究。 问题描述 测试源码如下: using test.package.module_py test.package.module_py.talk() 在项目根目录下(后文如无特别说明,命令运行都在根目录下),有如下测试包结构: test package module_py.py test_module_py.py <--- 该模块在根目录下 开发版如下运行测试无误: $ python3 -m 木兰 测试/引用/引用本地包内py.ul 但如果安装在 PyPI 的发布版,再如下运行相同测试用例则报错(见此 issue): $ 木兰 测试/引用/引用本地包内py.ul 没找到模块:‘test.package’ 调用层级如下 见第1行:using test.package.module_py 但是,发布版如下引用当前目录下的模块并无问题: using test...
