我应该将pyc文件置于版本控制之下吗?

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)

  • 就我个人而言,我更愿意根据需要忽略文件,而不是签入一堆实际未使用的忽略模式。 (4认同)

dim*_*414 7

这些文件是repo中已有代码的编译版本,因此Python可以更快地执行代码.由于它们是实际源代码的直接计算结果,所以检查它们没有任何好处 - 它们只需要在每次更新源代码时进行更新.此外,我无法保证(据我所知)不同的机器或Python版本会生成兼容的.pyc文件,这意味着分发.pyc您生成的文件可能会破坏其他人的环境.

相反,你可以修复.gitignore忽略文件.pyc的文件,并承诺给你的叉子(甚至回到上游回购).这样,将来没有人会注意到或需要担心这些文件.


小智 5

该文件没有什么坏处,但它是无用的垃圾,它的存在只是为了加快 python 应用程序的执行速度,并且每次进行更改时都会重新构建,因此它只会随着时间的推移而增长,要修复它,您可能需要添加__pycache__到你的.gitignore文件的行