AppEngine - IOError: [Errno 2] No such file or directory:

AppEngine - IOError: [Errno 2] No such file or directory:

我正在使用 AppEngine 制作一个网络应用程序,它使用 SpotifyReddit API 并让它在本地与 dev_appserver.py 一起工作,但是当我上传我的项目并在网站版本上尝试完全相同的事情时,我收到一个错误:

Traceback (most recent call last):
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/350d926c06a7e859/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/350d926c06a7e859/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py", line 1529, in __call__
...
...

  File "/base/data/home/apps/s~kabloombox-219016/20190116t005128.415435515961651480/main.py", line 274, in post
    scan_subreddit(language, access_token)
  File "/base/data/home/apps/s~kabloombox-219016/20190116t005128.415435515961651480/main.py", line 190, in scan_subreddit
    reddit = praw.Reddit(client_id=CLIENT_ID_REDDIT, client_secret=CLIENT_SECRET_REDDIT, user_agent=USER_AGENT)
...
...

  File "/base/alloc/tmpfs/dynamic_runtimes/python27g/350d926c06a7e859/python27/python27_dist/lib/python2.7/platform.py", line 165, in libc_ver
    f = open(executable,'rb')
IOError: [Errno 2] No such file or directory: '/base/alloc/tmpfs/dynamic_runtimes/python27g/350d926c06a7e859/python27/python27_dist/python'

我在提交表单后收到此错误,该表单本应 运行 网络抓取工具,但只是立即出错。我发现很多人在他们自己制作的文件上有相同的 No such file or directory 错误,只需要更改 app.yaml,但 /base/alloc/tmpfs/dynamic_runtimes/python27g/350d926c06a7e859/python27/python27_dist/python 是一些随机的 file/folder,我有完全不知道我该怎么做。

您可以更改您的 praw 初始化以防止它调用 platform.platform():

r = praw.Reddit(user_agent='...', disable_update_check=True)

或将 platform.platform() 修补为 return appengine_config.py:

中的字符串文字
import platform

def patch(module):
    def decorate(func):
        setattr(module, func.func_name, func)
        return func
    return decorate

@patch(platform)
def platform():
    return 'AppEngine'