Python脚本在Windows上不起作用(但在Mac上可用) [英] Python script doesn't work on Windows (but works on mac)
本文介绍了Python脚本在Windows上不起作用(但在Mac上可用)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Mac上成功运行了完全相同的脚本,但在Windows Server 2012 R2上失败.我想知道可能是什么原因,我应该检查什么? 这是一个脚本:
I run exactly the same script successfully on mac, but it fails on windows server 2012 r2. I wonder what can be a reason and what should i check? Here is a script:
import pygsheets
gc = pygsheets.authorize(service_file='credentials.json')
出现以下错误:
Traceback (most recent call last):
File "myscript.py", line 2, in <module>
gc = pygsheets.authorize(service_file='credentials.json')
File "C:\ProgramData\Anaconda2\lib\site-packages\pygsheets\client.py", line 55
2, in authorize
rclient = Client(oauth=credentials, **client_kwargs)
File "C:\ProgramData\Anaconda2\lib\site-packages\pygsheets\client.py", line 79
, in __init__
self._fetch_sheets()
File "C:\ProgramData\Anaconda2\lib\site-packages\pygsheets\client.py", line 92
, in _fetch_sheets
results = self._execute_request(None, request, False)
File "C:\ProgramData\Anaconda2\lib\site-packages\pygsheets\client.py", line 41
8, in _execute_request
response = request.execute()
File "C:\ProgramData\Anaconda2\lib\site-packages\oauth2client\_helpers.py", li
ne 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "C:\ProgramData\Anaconda2\lib\site-packages\googleapiclient\http.py", lin
e 835, in execute
method=str(self.method), body=self.body, headers=self.headers)
File "C:\ProgramData\Anaconda2\lib\site-packages\googleapiclient\http.py", lin
e 162, in _retry_request
resp, content = http.request(uri, method, *args, **kwargs)
File "C:\ProgramData\Anaconda2\lib\site-packages\oauth2client\transport.py", l
ine 175, in new_request
redirections, connection_type)
File "C:\ProgramData\Anaconda2\lib\site-packages\oauth2client\transport.py", l
ine 282, in request
connection_type=connection_type)
File "C:\ProgramData\Anaconda2\lib\site-packages\httplib2\__init__.py", line 1
659, in request
(response, content) = self._request(conn, authority, uri, request_uri, metho
d, body, headers, redirections, cachekey)
File "C:\ProgramData\Anaconda2\lib\site-packages\httplib2\__init__.py", line 1
460, in _request
_updateCache(headers, response, content, self.cache, cachekey)
File "C:\ProgramData\Anaconda2\lib\site-packages\httplib2\__init__.py", line 4
74, in _updateCache
cache.set(cachekey, text)
File "C:\ProgramData\Anaconda2\lib\site-packages\httplib2\__init__.py", line 7
41, in set
f = file(cacheFullPath, "wb")
IOError: [Errno 2] No such file or directory: 'c:\\users\\myusername\\appdata\\local\\t
emp\\1fda43ed-78ca-4316-b85c-51e7f359b3cb\\www.googleapis.com,drive,v3,files,inc
ludeTeamDriveItems=false&pageSize=500&fields=files%28id%2C+name%29&corpora=user&
supportsTeamDrives=false&q=mimeType%3D%27application%2Fvnd.google-apps.spreadshe
et%,5a24ad0f84d69be2396dd368422a2b6c'
显然该文件夹为空:
c:\\users\\myusername\\appdata\\local\\temp\\1fda43ed-78ca-4316-b85c-51e7f359b3cb
我想知道这是否与Windows上c:\ ProgramData的访问级别有关,如果可以,该如何解决? 我还更新了两台机器上的conda和pygsheets.
I wonder if it is something to do with access level to c:\ProgramData on windows and if so how can i fix that? I also updated conda and pygsheets on both machines.
推荐答案
它是pygsheets中的一个已知错误,请从github安装以获取修复.或者,您可以关闭缓存.
Its a known bug in pygsheets, install from github to get the fix. Or as a workaround, you can turn cache off.
import pygsheets
gc = pygsheets.authorize(service_file='credentials.json', no_cache=True)
这篇关于Python脚本在Windows上不起作用(但在Mac上可用)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文