相关疑难解决方法(0)

如何在Python中创建命名空间包?

在Python中,命名空间包允许您在多个项目中传播Python代码.当您想要将相关库作为单独的下载发布时,这非常有用.例如,使用目录Package-1Package-2in PYTHONPATH,

Package-1/namespace/__init__.py
Package-1/namespace/module1/__init__.py
Package-2/namespace/__init__.py
Package-2/namespace/module2/__init__.py
Run Code Online (Sandbox Code Playgroud)

最终用户可以import namespace.module1import namespace.module2.

定义命名空间包的最佳方法是什么,因此多个Python产品可以在该命名空间中定义模块?

python namespaces package

132
推荐指数
3
解决办法
5万
查看次数

在Python开发中使用共享模块的正确方法是什么?

我正在努力将Python作为我团队开发工具套件的一部分.使用我们使用的其他语言/工具,我们开发了许多可重用的函数和类,这些函数和类特定于我们的工作.这标准化了我们做事的方式,并节省了大量的车轮重新发明.

我似乎无法找到通常用Python处理它的任何示例.现在我在本地驱动器上有一个开发文件夹,下面有多个项目文件夹,还有一个包含可重复使用的类和函数的包和模块的附加"公共"文件夹.这些"通用"模块由多个项目中的模块导入.

Development/
    Common/
        Package_a/
        Package_b/
    Project1/
        Package1_1/
        Package1_2/
    Project2/
        Package2_1/
        Package2_2/
Run Code Online (Sandbox Code Playgroud)

在尝试学习如何分发Python应用程序时,似乎假设所有引用的包都低于顶级项目文件夹,而不是它的附属物.我还想到,也许正确的方法是在单独的项目中开发通用/框架模块,并且经过测试,通过安装到site-packages文件夹将它们部署到每个开发人员的环境中.然而,这也引发了重新分配的问题.

任何人都可以阐明这一点,或者指出我讨论这个问题的资源?

python distutils python-3.x

42
推荐指数
3
解决办法
2万
查看次数

命名空间与常规包

命名空间Python包(no __init__.py)和常规Python包(有__init__.py)之间的区别是什么,特别是当__init__.py常规包为空时?

我很好奇,因为最近我忘了制作__init__.py我制作的包装,我从来没有注意到任何问题.实际上,它们似乎与常规包装相同.

编辑:仅支持Python 3.3的命名空间包(参见PEP 420),所以很自然地,这个问题仅适用于Python 3.

python package python-3.x

15
推荐指数
2
解决办法
5277
查看次数

标签 统计

python ×3

package ×2

python-3.x ×2

distutils ×1

namespaces ×1