Python Google Drive API discovery.build失败,退出代码为-1073740777(0xC0000417)

Python Google Drive API discovery.build失败,退出代码为-1073740777(0xC0000417),python,oauth-2.0,google-drive-api,Python,Oauth 2.0,Google Drive Api,我正在构建一个python应用程序,将图像上传到GoogleDrive。然而,在工作了一段时间后,我的谷歌硬盘上传突然停止工作。每当我尝试初始化服务时,程序就会退出,代码为-1073740777(0xC0000417) 我已经尝试使用开发者控制台创建一个新的client_secret.json文件(同样使用一个完全不同的Google帐户),并删除drive-python-quickstart.json凭证文件 我的朋友在使用相同的代码时没有这个问题,正如我所说的,这对我来说也有效了一段时间,但突

我正在构建一个python应用程序,将图像上传到GoogleDrive。然而,在工作了一段时间后,我的谷歌硬盘上传突然停止工作。每当我尝试初始化服务时,程序就会退出,代码为-1073740777(0xC0000417)

我已经尝试使用开发者控制台创建一个新的client_secret.json文件(同样使用一个完全不同的Google帐户),并删除drive-python-quickstart.json凭证文件

我的朋友在使用相同的代码时没有这个问题,正如我所说的,这对我来说也有效了一段时间,但突然停止了工作

我正在使用Python 3.5 32位运行Windows 10 Pro x64

运行此示例程序时出现问题(取自):


在使用Google Youtube API时遇到了同样的问题,也使用了相同的操作系统(Win 10 Pro x64)和相同的python版本(3.5)

我不知道如何,但在主函数中添加这一行有帮助

sys.modules['win32file'] = None

好的,我最终自己解决了这个问题

经过一点调试,我发现了以下几点:

oauth2client可以使用两种不同的方法打开文件。它首先尝试导入类_Win32Opener,当导入失败时,它使用_FcntlOpener。_Win32Opener的导入没有失败,但是使用_Win32Opener打开和锁定文件失败,因此程序崩溃。要强制oauth2client使用_FcntlOpener,只需删除/重命名pyhton包中的文件
\u win32\u opener.py

相关文件:

[PythonDir]/Lib/site-packages/oauth2client/contrib/locked_file.py
[PythonDir]/Lib/site-packages/oauth2client/contrib/_win32_opener.py
tl;dr

只需删除/重命名文件

[PythonDir]/Lib/site-packages/oauth2client/contrib/_win32_opener.py
[PythonDir]/Lib/site-packages/oauth2client/contrib/_win32_opener.py