Ere*_*evi 27 python version-control
我在Python中分叉了一个GitHub项目.在第一次运行项目后,一些.pyc文件出现在里面.我应该将它们置于版本控制之下并将它们提交给我的分支吗?
svf*_*fat 21
你不应该..pyc文件包含字节码,对于不同版本和Python的实现可能会有所不同.
只需*.pyc在您的.gitignore或全局中添加行gitignore.
另外,请查看几乎所有平台上的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/
Run Code Online (Sandbox Code Playgroud)
这些文件是repo中已有代码的编译版本,因此Python可以更快地执行代码.由于它们是实际源代码的直接计算结果,所以检查它们没有任何好处 - 它们只需要在每次更新源代码时进行更新.此外,我无法保证(据我所知)不同的机器或Python版本会生成兼容的.pyc文件,这意味着分发.pyc您生成的文件可能会破坏其他人的环境.
相反,你可以修复.gitignore忽略文件.pyc的文件,并承诺说给你的叉子(甚至回到上游回购).这样,将来没有人会注意到或需要担心这些文件.
小智 5
该文件没有什么坏处,但它是无用的垃圾,它的存在只是为了加快 python 应用程序的执行速度,并且每次进行更改时都会重新构建,因此它只会随着时间的推移而增长,要修复它,您可能需要添加__pycache__到你的.gitignore文件的行