如果我所有的__init__.py
文件都是空的,我是否必须将它们存储到版本控制中,或者有没有办法在安装过程中distutils
创建空__init__.py
文件?
jelovirt
问问题
1546 次
2 回答
7
在 Python 中,__init__.py
文件实际上是有意义的!他们的意思是他们所在的文件夹是一个 Python 模块。因此,它们在您的代码中具有真正的作用,并且很可能应该存储在版本控制中。
您可以想象源代码树中的一个文件夹不是 Python 模块,例如一个仅包含资源(例如图像)而没有代码的文件夹。该文件夹不需要在其中包含__init__.py
文件。现在,您如何区分 distutils 应该创建那些文件的文件夹和不应该创建这些文件的文件夹?
于 2008-09-13T09:19:56.330 回答
4
您是否有理由避免将空__init__.py
文件放入版本控制中?如果您这样做,您将无法import
从源目录中获取您的包,而无需首先运行 distutils。
如果你真的想,我想你可以__init__.py
在setup.py
. 它必须在运行之前distutils.setup
,所以setup
它自己能够找到你的包:
from distutils import setup
import os
for path in [my_package_directories]:
filename = os.path.join(pagh, '__init__.py')
if not os.path.exists(filename):
init = open(filename, 'w')
init.close()
setup(
...
)
__init__.py
但是......与首先在那里有空文件相比,你会从中获得什么?
于 2008-09-13T12:46:50.657 回答