Jer*_*dis 14
正如ms4py的回答中所提到的,*.pyc是将在运行中重新生成的已编译文件.分发项目时,您不希望包含这些内容.
但是,如果它发生了你在回滚更改之前存在的模块,并且*.pyc文件处于遗留状态,则可能会出现奇怪的错误,因为即使原始python文件不再存在也可以执行pyc文件.当在项目中添加和删除应用程序并使用git切换分支时,这在Django中咬了几次.
要清理,可以通过在项目目录中运行以下shell命令来删除项目目录中的每个编译文件:
find . -name '*.pyc' -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)
通常您是安全的,因为*.pyc如果相应的*.py更改其内容,则重新生成.
如果删除*.py文件并且仍在其他文件中导入文件,则会出现问题.在这种情况下,*.pyc如果文件存在,则从文件导入.但这将是您的代码中的错误,并不是与您的mercurial工作流程真正相关.
结论:每个着名的Python库都忽略了他们的*.pyc文件,就这样做;)