使用Google Cloud Platform的本地开发服务器导入内置模块“ _subprocess”时出错

问题描述 投票:1回答:1

有人知道我该如何解决以下错误? Error Message: "Import Error

C:\Users\MicroSilicon\Desktop\hello_world>python2 "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\dev_appserver.py" app.yaml
INFO     2019-12-16 09:23:23,341 devappserver2.py:285] Skipping SDK update check.
INFO     2019-12-16 09:23:23,506 api_server.py:282] Starting API server at: http://localhost:60054
INFO     2019-12-16 09:23:23,509 dispatcher.py:263] Starting module "default" running at: http://localhost:8080
INFO     2019-12-16 09:23:23,512 admin_server.py:150] Starting admin server at: http://localhost:8000
INFO     2019-12-16 09:23:25,522 instance.py:294] Instance PID: 7284
INFO     2019-12-16 09:23:37,250 module.py:434] [default] Detected file changes:
  main.pyc
WARNING  2019-12-16 15:23:37,354 sandbox.py:1104] The module msvcrt is whitelisted for local dev only. If your application relies on msvcrt, it is likely that it will not function properly in production.
ERROR    2019-12-16 15:23:37,355 wsgi.py:269]
Traceback (most recent call last):
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 311, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "C:\Users\MicroSilicon\Desktop\hello_world\main.py", line 16, in <module>
    import subprocess
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\python\runtime\sandbox.py", line 1043, in load_module
    return self.import_stub_module(fullname)
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\python\runtime\sandbox.py", line 1049, in import_stub_module
    __import__(fullname, {}, {})
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\dist27\subprocess.py", line 8, in <module>
    from python_std_lib import subprocess
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\dist27\python_std_lib\subprocess.py", line 417, in <module>
    import _subprocess
  File "C:\Users\MicroSilicon\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\python\runtime\sandbox.py", line 1113, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named _subprocess

我已经安装了适用于Windows的Google Cloud SDK,并选中了该框以获取捆绑的python安装(版本2.7.13)。Python Installation Check

基本上按照下面的链接中的说明进行操作,以使Hello World应用程序在本地环境中运行(直到步骤“进行更改”为止)。https://cloud.google.com/appengine/docs/standard/python/quickstart

现在,当我将语句import subprocess添加到main.py文件时,出现了问题。

注意,确切的问题是模块“ subprocess.py”中的第import _subprocess行。这对我来说很奇怪,因为如果我尝试运行任何基本的python脚本(不使用dev_appserver.py app.yaml部署Google Cloud Environment),或者如果我只是直接从控制台使用python解释器(Windows命令提示符),则尝试import subprocess还是直接尝试import _subprocessImport Statement from Console Python

这里是Hello World代码(已添加子流程导入):

# Copyright 2016 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import webapp2
import subprocess

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, World!')



app = webapp2.WSGIApplication([
    ('/', MainPage),
], debug=True)

最后,我的熟人之前安装了相同的软件,并且在运行任何使用此import语句的应用程序时均未出现此类错误。

注意:我正在使用Windows 10计算机。

google-cloud-platform subprocess python-import
1个回答
0
投票

我在想,据我们所知,安装可能有问题,可能是SDK安装和Python安装,您可以重新安装它们并再次检查吗?

只是我尝试了此操作,没有问题,并且您指定其他人也做了同样的事情,没有问题,也许问题出在您的PC上安装了这些产品中的任何一个。

© www.soinside.com 2019 - 2024. All rights reserved.