相关疑难解决方法(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 2和3兼容的命名空间模块(使用pip)

如何构建多个兼容Python 2.7+和3.3+兼容的相同命名空间的python模块?

让我们调用命名空间test.现在我想要调用两个单独的模块test.foo,另一个调用test.bar.但是,我目前正在开发test.helloworld,这取决于两者,test.footest.bar.两者都列在requirements.txt文件中.

这些模块test.footest.bar目前正在使用的Python 2解决方案的命名空间的包:

import pkg_resources
pkg_resources.declare_namespace(__name__)
Run Code Online (Sandbox Code Playgroud)

为开发模式 运行建议的pip-commandpip install -e .将变为: ImportError: No module named 'test.helloworld'导入test.footest.bar正在运行时.

用于命名空间包的Python 3解决方案隐式命名空间包,其中命名空间包没有__init__.py文件.遗憾的是,这不适用于Python 2版本.

如何为Python 2和3设计解决方案(允许我使用pip install -e .)?该--egg解决方案对我不起作用,因为它已被弃用.

python pip setup.py python-2.7 python-3.x

23
推荐指数
1
解决办法
1459
查看次数

标签 统计

python ×2

namespaces ×1

package ×1

pip ×1

python-2.7 ×1

python-3.x ×1

setup.py ×1