Python 命名空间包冲突

Python 命名空间包冲突,python,virtualenv,namespace-package,Python,Virtualenv,Namespace Package,我有一个我正在做的包。它有一个额外的,取决于我创建的另一个包。我已经创建了一个virtualenv并安装了这些软件包,如图所示: $ virtualenv -p pypy ve_pypy $ . ve_pypy/bin/activate (ve_pypy) $ pip install LDB_LAPACK ... (ve_pypy) $ python setup.py install ... (Installs LDB_Algebra) 在ldb包下,每个文件的_init__u;.py文件都有

我有一个我正在做的包。它有一个额外的,取决于我创建的另一个包。我已经创建了一个virtualenv并安装了这些软件包,如图所示:

$ virtualenv -p pypy ve_pypy
$ . ve_pypy/bin/activate
(ve_pypy) $ pip install LDB_LAPACK
...
(ve_pypy) $ python setup.py install
... (Installs LDB_Algebra)
在ldb包下,每个文件的_init__u;.py文件都有以下内容:

__import__('pkg_resources').declare_namespace(__name__)
问题:

问题是,当我尝试使用ldb.algebra时,它报告说它找不到包。只是为了确保它没有完全丢失我尝试导入ldb.lapack的所有内容,而且效果很好。这向我表明我有一个名称空间包问题。似乎有人提出了一个类似的问题,但遗憾的是没有得到回答。在调查我的virtualenv的目录结构后,我发现在ve_pypy/site packages/下有一个ldb名称空间包的文件夹,其中包括lapack包,但不包括algebra包。我还看到一个egg文件,LDB_代数-0.3.2-py2.7.egg。在ldb目录中的这个egg文件中有一个_init__uuuu.py文件,其名称空间声明如上所述。据推测,这应该是它获取ldb.algebra包的地方,但它不在那里

问题:

有人能通过一个参考资料证实我所看到的是一个已知的问题,也就是说,我并不是在做一些导致所有这些麻烦的小错误吗?在站点包下创建ldb包目录的PEG和w/e pip安装方法是否根本不兼容

假设第一个问题的答案是我的包安装方法存在根本性缺陷,那么有没有更简单的方法从pypi安装LDB_LAPACK包,从我的本地目录安装LDB_代数包?我不是setuptools wiz或其他任何人,所以答案可能非常简单,不要忽视显而易见的问题

显然,这是一个错误。有人向我建议了一个解决方案,这个解决方案看起来很好,就是使用pip安装。而不是python setup.py安装