python包目录结构

时间:2018-02-23 21:37:29

标签: python pip

我正在绑定我的python包中的目录结构的命名。问题是我正在调用包与包含源代码和主类的目录相同的名称。像这样:

```
Bucha
\ docs
| examples
| bucha
 \ class1.py
 | class2.py
 | bucha.py (which contains a class Bucha)
| tests
```

我已经完成了本地pip安装,所以当我想要实例化Bucha时,我必须像这样导入     from bucha.bucha import Bucha 这当然是荒谬的。

有关改进此命名的任何建议吗?对此有一个鼓励指南吗?

1 个答案:

答案 0 :(得分:1)

您可以将__init__.py添加到导入内容的文件夹中。

例如,我这样做了:

$ mkdir -p bucha/bucha
$ touch bucha/bucha/Bucha.py
$ subl .
$ touch bucha/bucha/__init__.py
$ touch bucha/__init__.py
$ touch __init__.py
$ python -c 'import bucha'
bucha/bucha/__init__.py
bucha/bucha/Bucha.py
bucha/__init__.py

这些是文件的内容:

$ cat bucha/bucha/Bucha.py
print(__file__)

$ cat bucha/bucha/__init__.py
print(__file__)$ 

$ cat bucha/__init__.py
import bucha.Bucha as Bucha
print(__file__)

$ cat __init__.py 
from bucha import Bucha
print(__file__)