0

我正在使用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,我完全不知道我应该怎么做。

4

1 回答 1

1

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

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

或修补 platform.platform() 以在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'
于 2019-01-27T09:44:34.233 回答