我是Python世界的新手,现在我发现自己正在努力学习如何正确地创建Python包或模块。我还有几个必须满足的要求。在
我有一个核心本地DLL(我们将其命名为MyCore.dll用C++编写的强>。此DLL必须部署到特定的安装位置,因为它是产品的核心组件(我们将说ProgramFiles\MyProduct)。在
我使用SWIG为生成Python绑定MyCore.dll。它生成了2个文件:_MyCoreBindings.pyd公司(本质上是一个引用MyCore.dll)和mycrebindings.py(加载_MyCoreBindings.pyd公司并为其提供了一个Python API)。在
最后,我有一个Python脚本(我的产品.py)只包含一个导入,因为我的产品必须在Python中以的名称导入我的产品.SDK:
import MyCoreBindings as SDK
因此,我希望能够像Python的脚本一样访问它:
^{pr2}$按依赖关系排序的文件摘要:
我还读过Python包的格式包含一些模仿导入路径的目录结构,以及可能包含的设置.py和\uuu init_u.py,但我读过的所有材料都没有明确说明这些文件中必须包含哪些内容,以及在哪些情况下需要这些文件。我绝对不清楚这个目录结构可能放在哪里。在
如果您希望Python能够导入模块,那么您有两个选择:
site-packages
文件夹中。在sys
模块(即。系统路径追加(/some/路径)您可以使用
setup.py
安装软件包和/或创建鸡蛋/轮子等。有关有用的提示,请参阅以下内容:您可以使用模块旁边的文件夹中的
_init__.py
创建一个包:
^{pr2}$_init__.py
文件可以为空。这基本上允许您将文件夹导入为MyProduct
:或者
如果使用根文件夹中的
__init__.py
,则不需要MyProduct.py
。我希望这一切都有道理。在相关问题 更多 >
编程相关推荐