Python版本: 2.7.12
我创建了自己的模块,名为mymodule.py
。我将模块放在mymodule
目录中,所以:
mymodule/
__init__.py
mymodule.py
此外,我检查了sys.path
列表,并将整个mymodule/
移至/usr/lib64/python2.7/site-packages/
目录所在的numpy/
。当我运行python时,我可以通过所有这些方式导入mymodule
:
>>> import mymodule.mymodule
>>> from mymodule import mymodule
>>> from mymodule.mymodule import fun1, var1
我理解文件和目录的层次结构。我知道mymodule/
的级别高于mymodule
,因此需要一个点运算符。但我们可以注意到numpy/
目录的类似结构,在这种情况下:
>>> import numpy
足以导入此模块,而不是:
>>> import numpy.numpy
我阅读了有关模块的官方文档,但我无法找到答案。当然我可以将mymodule.py
放在/usr/lib64/python2.7/site-packages/
里面,但这可能会造成混乱。此外mymodule/
给我一些类似命名空间的东西(其他人也可以创建包含不同语句的mymodule.py
文件。)
建议以哪种方式发布自己的模块?