Google App Engine Python2.7本地开发无法初始化依赖于ctypes的库

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

Google的App Engine(dev_appserver.py)本地开发服务器已停止为我的一个长期运行的项目工作。项目本身可以并且已经部署成功,但是在初始化在本地开发中调用numpy的模块(PILctypes)时引发错误。收到的错误可以在下面看到:

    import numpy as np
  File "/Users/dev/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 894, in load_module
    module = self._find_and_load_module(fullname, fullname, [module_path])
  File "/Users/dev/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 605, in _find_and_load_module
    return imp.load_module(fullname, source_file, path_name, description)
  File "/opt/miniconda3/envs/app-api/lib/python2.7/site-packages/numpy/__init__.py", line 142, in <module>
    from . import core
  File "/opt/miniconda3/envs/app-api/lib/python2.7/site-packages/numpy/core/__init__.py", line 95, in <module>
    from . import numeric
  File "/opt/miniconda3/envs/app-api/lib/python2.7/site-packages/numpy/core/numeric.py", line 39, in <module>
    from ._internal import TooHardError, AxisError
  File "/opt/miniconda3/envs/app-api/lib/python2.7/site-packages/numpy/core/_internal.py", line 17, in <module>
    import ctypes
  File "/opt/miniconda3/envs/app-api/lib/python2.7/ctypes/__init__.py", line 29, in <module>
    if int(_os.uname()[2].split('.')[0]) < 8:
ValueError: invalid literal for int() with base 10: ''

我也遇到了this question,最近也遇到了类似的问题。这让我觉得这与开发服务器的最新更改有关。

我已经尝试将这两个软件包更新到最新的2.7版本,并将它们降级为GAE支持的版本(numpy==1.6.1PIL==1.1.7)。同样,如另一个问题所述,从app.yaml文件中删除模块似乎没有什么区别。用于部署的app.yaml文件如下所示:

libraries:
- name: PIL
  version: "1.1.7"

- name: numpy
  version: "1.6.1"

是否有人知道使用这些库的开发服务器的更改?

python-2.7 numpy google-app-engine python-imaging-library google-app-engine-python
1个回答
1
投票

这是仅会影响非Linux操作系统的已知问题

您可以尝试以下解决方法

-将您的Cloud SDK降级到v260,此版本在OSX上正常运行,为此,请运行此命令

gcloud components update --version 260.0.0

-或编辑文件google / appengine / tools / devappserver2 / python / runtime / sandbox.py

为了按照本Google public case中所述从数组_WHITE_LIST_C_MODULES中删除/注释此包“ _ ctypes”,>

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