web-dev-qa-db-ja.com

Pythonプロジェクトに.gitignoreファイルを追加するためのベストプラクティスは?

私はデフォルト設定のいくつかを収集しようとしていますが、標準がないと気づいたのは.gitignoreファイルです。 Visual Studioプロジェクトに適した.gitignore を示すすばらしいスレッドがありますが、Pythonおよび関連ツール(PyGTK、Django)の推奨事項は多くありません。

これまでのところ、私は...

*.pyc
*.pyo

...コンパイルされたオブジェクトの場合...

build/
dist/

... setuptoolsの出力用。

.gitignoreファイルのベストプラクティスとは何ですか。これらのベストプラクティスの詳細はどこで参照できますか?

154
ewall

buildout を使用する場合、(.gitignoreおよび*.pyoとともに)*.pycで以下を実行します。

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

Jacob Kaplan-Moss に感謝

また、私が働いているいくつかのSCMを使用しているため、.svnを配置する傾向があります。

48
Davor Lucic

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/
236
seanrose

local_settings.py 、Djangoプロジェクトの場合。

*〜すべてのプロジェクト。

15
Ofri Raviv

1つの質問は、プロジェクトの展開にgitも使用するかどうかです。リポジトリからローカルのsqliteファイルを除外したい場合は、おそらくファイルのアップロード(主にメディアフォルダー内)にも同じことが当てはまります。 (あなたの質問もDjangoでタグ付けされているので、私は今Djangoについて話している)

6

一般的なもののほとんどをカバーしています-

# 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

4
Ani Menon

以下に、setuptoolsによって残される可能性のある他のファイルをいくつか示します。

MANIFEST
*.Egg-info
4
jathanism