1

我有这些鸡蛋:

~/test/lib/
├── a-1.0-py2.7.egg
│   ├── a
│   │   ├── __init__.py
│   │   └── __init__.pyc
│   └── EGG-INFO
│       └── ...
├── a.b-1.0-py2.7.egg
│   ├── a
│   │   └── b
│   │       ├── __init__.py
│   │       └── __init__.pyc
│   └── EGG-INFO
│       └── ...
├── easy-install.pth
├── site.py
└── site.pyc

a/__init__.py 是:

print "a"

a/b/__init__.py 是:

print "a.b"

所以,“ab”是“a”的“插件”。我会单独安装它(和大多数其他人一样)。但在这种配置中,我的想法不起作用:

>>> import a
a
>>> import a.b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named b
>>> 

应该是怎样的?

4

1 回答 1

0

检查你生成的蛋文件,如果有一个模块 ab

如果没有,请尝试使用 find_packages 注册您的模块。


from setuptools import setup, find_packages
setup(
    name='pypack',
    version='0.1',
    packages=find_packages(),
    ...

├── a.b-1.0-py2.7.egg
│   ├── a
│   ├── __init__.py
│   └── __init__.pyc
│   │   └── b
│   │       ├── __init__.py
│   │       └── __init__.pyc
│   └── EGG-INFO
│       └── ...

每个文件夹都应该有一个

__init__.py 
于 2011-10-26T20:37:27.023 回答