Python .gitignore Generator
Complete Python .gitignore template covering virtual environments, __pycache__, Django, Flask, Jupyter and all Python development tools.
Complete Python .gitignore Template
# 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/ share/python-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/ .nox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover *.py,cover .hypothesis/ .pytest_cache/ cover/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 db.sqlite3-journal # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder .pybuilder/ target/ # Jupyter Notebook .ipynb_checkpoints # IPython profile_default/ ipython_config.py # pyenv # For a library or package, you might want to ignore these files since the code is # intended to run in multiple environments; otherwise, check them in: # .python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. # However, in case of collaboration, if having platform-specific dependencies or dependencies # having no cross-platform support, pipenv may install dependencies that don't work, or not # install all needed dependencies. #Pipfile.lock # poetry # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. # This is especially recommended for binary packages to ensure reproducibility, and is more # commonly ignored for libraries. # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control #poetry.lock # pdm # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. #pdm.lock # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it # in version control. # https://pdm.fming.dev/#use-with-ide .pdm.toml # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm __pypackages__/ # Celery stuff celerybeat-schedule celerybeat.pid # 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/ .dmypy.json dmypy.json # Pyre type checker .pyre/ # pytype static type analyzer .pytype/ # Cython debug symbols cython_debug/
Framework-Specific Additions
🎯Django Projects
# Django *.log local_settings.py db.sqlite3 db.sqlite3-journal media/ staticfiles/ # Django migrations */migrations/__pycache__/ */migrations/*.pyc
🌶️Flask Projects
# Flask instance/ .webassets-cache .flask_session # Flask uploads uploads/ app.db # Flask config config.py .flaskenv
⚡FastAPI Projects
# FastAPI *.db .env .env.local .env.production # Uvicorn uvicorn.pid # Database alembic.ini migrations/
📓Jupyter Notebooks
# Jupyter .ipynb_checkpoints *.ipynb_backup # JupyterLab .jupyter/ .local/ # Jupyter data data/ datasets/ *.csv
📦Virtual Environments
# Virtual Environments venv/ env/ ENV/ .venv/ .env/ venv.bak/ env.bak/ # Conda .conda/
📊Data Science & ML
# Data Science *.csv *.json *.xlsx *.h5 *.hdf5 *.pkl *.pickle # MLflow mlruns/ .mlflow/
IDE & Editor Configurations
🐍PyCharm IDE
Professional Python IDE with advanced debugging, refactoring, and code analysis features.
View PyCharm .gitignore Guide →📝Visual Studio Code
Popular lightweight editor with Python extensions, remote development, and workspace support.
View VSCode .gitignore Guide →Common Python .gitignore Issues
❌__pycache__ Still Being Tracked
If __pycache__ folders are still showing up in git status, this is a common issue. See our troubleshooting guide for more solutions:
git commit -m "Remove pycache from tracking"
❌Virtual Environment Being Tracked
Never commit your virtual environment. This is covered in our FAQ section. Add this to .gitignore:
.venv/
env/
ENV/
❌Secret Keys in .env Files
Always ignore environment files containing secrets. Learn more in our FAQ about .env files:
.env.local
.env.production
config.py # if it contains secrets
Need More Python .gitignore Help?
Use our professional tools to generate, validate, and troubleshoot your Python .gitignore files.