Рекомендуемый.файл gitignore для проектов Python?

Я пытаюсь собрать некоторые из моих настроек по умолчанию, и одна вещь, которую я понял, у меня нет стандарта .гитюдного файлы. Есть отличная нить, показывающая хорошо .gitignore для проектов Visual Studio, но я не вижу много рекомендаций для Python и связанных с ним инструментов (PyGTK, Django).

пока что да...

*.pyc
*.pyo

...для скомпилированных объектов и...

build/
dist/

...для вывода setuptools.

больше рекомендации для меня?

6 ответов


при использовании климатическое оборудование у меня есть следующие в .gitignore (вместе с *.pyo и *.pyc):

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

спасибо Джейкоб Каплан-Мосс

также я склонен поставить .svn поскольку мы используем несколько SCM-s, где я работаю.


Github имеет большой шаблон .gitignore

# 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.py, для проектов django.

*~ для всех проектов.


один вопрос, если вы также хотите использовать Git для deploment ваших проектов. Если это так, вы, вероятно, хотели бы исключить свой локальный файл sqlite из репозитория, то же самое, вероятно, относится к загрузке файлов (в основном в вашей папке мультимедиа). (Я говорю о django сейчас, так как ваш вопрос также помечен django)


вот некоторые другие файлы, которые могут быть оставлены setuptools:

MANIFEST
*.egg-info

охватывает большинство общих вещей -

# 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