[python] Python 프로젝트에 .gitignore 파일을 추가하는 모범 사례? [닫은]

기본 설정 중 일부를 수집하려고하는데 표준이 없다는 것을 깨달았습니다 .gitignore 파일입니다. Visual Studio 프로젝트에 좋은 .gitignore를 보여주는 훌륭한 스레드가 있지만 Python 및 관련 도구 (PyGTK, Django)에 대한 권장 사항이 많지 않습니다.

지금까지 나는 …

*.pyc
*.pyo

… 컴파일 된 객체 및 …

build/
dist/

… 설정 도구 출력용.

.gitignore 파일에 대한 모범 사례는 무엇이며 이러한 모범 사례에 대한 자세한 내용은 어디로 갈 수 있습니까?



답변

사용하는 경우 buildout 난에 다음과 같은 한 .gitignore(함께 *.pyo하고 *.pyc) :

.installed.cfg
bin
develop-eggs
dist
downloads
eggs
parts
src/*.egg-info
lib
lib64

Jacob Kaplan-Moss 덕분에

또한 .svn우리가 일하는 곳에서 여러 SCM을 사용하기 때문에 넣는 경향이 있습니다.


답변

Github에는 훌륭한 상용구가 있습니다.

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]

# C extensions
*.so

# Distribution / packaging
bin/
build/
develop-eggs/
dist/
eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
.tox/
.coverage
.cache
nosetests.xml
coverage.xml

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject

# Rope
.ropeproject

# Django stuff:
*.log
*.pot

# Sphinx documentation
docs/_build/


답변

local_settings.pydjango 프로젝트의 경우

모든 프로젝트에 대해 * ~.


답변

대부분의 일반적인 내용을 다룹니다.

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/

참조 : python .gitignore


답변

한 가지 질문은 프로젝트의 디플로먼트에 git을 사용하려는 경우입니다. 그렇다면 리포지토리에서 로컬 sqlite 파일을 제외하려는 경우 파일 업로드 (대부분 미디어 폴더)에 동일하게 적용됩니다. (귀하의 질문에도 django가 태그되어 있기 때문에 django에 대해 이야기하고 있습니다)


답변

다음은 setuptools에 의해 남겨질 수있는 다른 파일들입니다.

MANIFEST
*.egg-info


답변