Я разработал проект GitHub в Python. После запуска проекта в первый раз появились некоторые .pyc файлы. Должен ли я поставить их под контроль версий и передать их своей вилке?
Должен ли я ставить файлы pyc под контроль версий?
Ответ 1
Эти файлы скомпилированные версии кода уже в репо, так что Python может быстрее выполнять код. Поскольку они являются прямым вычислительным результатом фактического исходного кода, нет никакой пользы для их проверки - они просто должны обновляться каждый раз, когда исходный код обновляется. Кроме того, нет никаких гарантий (насколько мне известно), что разные машины или версии Python будут генерировать совместимые файлы .pyc
, то есть распространение файлов .pyc
, которые вы создали, может потенциально нарушить среду других людей.
Вместо этого вы можете исправить файл .gitignore
, чтобы игнорировать файлы .pyc
и передать это своей вилке (или даже вернуться к восходящему репо). Таким образом, никто не заметит и не должен беспокоиться об этих файлах в будущем.
Ответ 2
Не нужно этого делать.
отличная коллекция gitignore для почти всех платформ. Вы можете использовать его для своих проектов python:
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# 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
# Translations
*.mo
*.pot
# Django stuff:
*.log
# Sphinx documentation
docs/_build/
# PyBuilder
target/
Ответ 3
В файле нет ничего плохого, но это бесполезный мусор, он там только для ускорения выполнения приложения python, и он перестраивается каждый раз, когда вы вносите изменения, поэтому он будет расти со временем, чтобы исправить его, вы можете хотите добавить строку __pycache__
в ваш .gitignore
файл
Ответ 4
Нет. Вы не должны ставить pyc при управлении версиями
Общее правило: "Никогда не помещайте build-arifacts в исходный элемент управления, потому что у вас есть источники в исходном управлении и вы можете повторить процесс"
PYC являются такими артефактами для соответствующих файлов PY