내 __init__.py
파일이 모두 비어있는 경우 버전 컨트롤에 파일을 저장해야합니까? 아니면 distutils
을 설치하는 동안 __init__.py
개의 파일을 만들 수 있습니까?distutils가 빈 __init__.py 파일을 만들 수 있습니까?
답변
을 피하고자하는 이유가 있습니까 비어있는 __init__.py
개 파일을 버전 제어에 넣으시겠습니까? 이렇게하면 import
패키지가 distutils를 처음 실행하는 소스 디렉토리에서 가져올 수 없습니다.
정말로 원하는 경우 __init__.py
을 setup.py
에 만들 수 있다고 가정합니다. 그것은 그 자체가 당신의 패키지를 찾을 수 있도록 setup
, distutils.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
파일을 필요에 비해이에서 얻을 것이 무엇 ? 질문의
파이썬에서는 __init__.py
개의 파일이 실제로 의미가 있습니다! 그들은 그들이있는 폴더가 파이썬 모듈이라는 것을 의미합니다. 따라서 코드에서 실제 역할을 수행하며 버전 제어에 저장되어야합니다.
소스 트리에서 Python 모듈이 아닌 폴더 (예 : 이미지)와 코드가없는 폴더를 상상해보십시오. 해당 폴더에는 __init__.py
파일이 필요하지 않습니다. 이제 distutils가 그 파일과 폴더를 만들어야하는 폴더 사이에 어떻게 차이를 만들 수 있습니까?
, 당신은 그것이 __init__.py 파일을 가지고 있지 않더라도, 해당 폴더가 패키지로 해석되어야의 distutils를 알 수 있습니다. 분포를 만들 때 항상 __init__.py 파일을 만들 수는 있지만, distutils로 할 수 있는지 궁금합니다. – jelovirt
예, distutils (및 다른 Python 코드)에 폴더가 패키지라는 것을 알려주는 기술이 있습니다. __init__.py 파일을 폴더에 넣으십시오. –
정확하게 내가 찾고있는 대답은 distutils로 할 수 있지만 그렇게해서는 안됩니다. – jelovirt