我用C++编写了一个Python模块,并将其构建为共享对象库,并且工作正常.但是在计算出所有这些的同时,我注意到(通过strace)Python会查找一些不同的变体import.特别是,当我说import foo,Python按顺序搜索:
除了foomodule.so之外,这一切都是可以理解的.为什么Python会以name.so和namemodule.so的形式查找所有内容?这是一些历史文物吗?我搜索了很多,根本没有解释,我想知道我是否应该命名我的模块foomodule.so而不是foo.so. 我的系统似乎在每个约定之后都有一些现有的Python模块,所以我不禁想知道不同的名字是否意味着什么.