Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ctypes init在使用本地应用程序引擎、django和virtualenv以及python 2.7时失败_Django_Python 2.7_Google App Engine_Virtualenv_Ctypes - Fatal编程技术网

ctypes init在使用本地应用程序引擎、django和virtualenv以及python 2.7时失败

ctypes init在使用本地应用程序引擎、django和virtualenv以及python 2.7时失败,django,python-2.7,google-app-engine,virtualenv,ctypes,Django,Python 2.7,Google App Engine,Virtualenv,Ctypes,我面临着一个关于ctypes初始化的问题 if int(_os.uname()[2].split('.')[0]) < 8: ValueError: invalid literal for int() with base 10: ' 我尝试过的解决方案: 在virtualenv内外调用os.uname(),它可以正常工作 使用系统Python 2.7.17安装创建virtualenv 使用pyenv和3个不同的Python2版本(2.7.17、2.7.16、2.7.15)创建virtu

我面临着一个关于ctypes初始化的问题

if int(_os.uname()[2].split('.')[0]) < 8:
ValueError: invalid literal for int() with base 10: '
我尝试过的解决方案:

  • 在virtualenv内外调用
    os.uname()
    ,它可以正常工作
  • 使用系统Python 2.7.17安装创建virtualenv
  • 使用pyenv和3个不同的Python2版本(2.7.17、2.7.16、2.7.15)创建virtualenvs
查看完整的调用堆栈,似乎ctypes init是从virtualenv外部的interpeter调用的。如果我在创建virtualenv时使用操作系统的python或pyenv-python,那么这都是正确的。也许在虚拟电视里找不到CType

Traceback (most recent call last):
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine/google/appengine/api/lib_config.py", line 358, in __getattr__
    self._update_configs()
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine/google/appengine/api/lib_config.py", line 294, in _update_configs
    self._registry.initialize()
  File "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/platform/google_appengine/google/appengine/api/lib_config.py", line 165, in initialize
    import_func(self._modname)
  File "/Users/myuser/.pyenv/versions/2.7.15/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/myuser/git/myproject/appengine_config.py", line 38, in <module>
    cloud_sql_conn_retry.monkey_patch_mysql_backend()
  File "/Users/myuser/git/myproject/server/utils/cloud_sql_conn_retry.py", line 14, in monkey_patch_mysql_backend
    from django.db.backends.mysql.base import DatabaseWrapper
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 38, in <module>
    from .creation import DatabaseCreation                      # isort:skip
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/backends/mysql/creation.py", line 4, in <module>
    from django.db.backends.base.creation import BaseDatabaseCreation
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/backends/base/creation.py", line 5, in <module>
    from django.core import serializers
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/core/serializers/__init__.py", line 23, in <module>
    from django.core.serializers.base import SerializerDoesNotExist
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/core/serializers/base.py", line 4, in <module>
    from django.db import models
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/models/__init__.py", line 3, in <module>
    from django.db.models.aggregates import *  # NOQA
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/models/aggregates.py", line 5, in <module>
    from django.db.models.expressions import Func, Star
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/models/expressions.py", line 6, in <module>
    from django.db.models import fields
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 14, in <module>
    from django import forms
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/forms/__init__.py", line 7, in <module>
    from django.forms.fields import *  # NOQA
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/forms/fields.py", line 17, in <module>
    from django.core import validators
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/core/validators.py", line 507, in <module>
    allowed_extensions=get_available_image_extensions(),
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/core/validators.py", line 498, in get_available_image_extensions
    from PIL import Image
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/PIL/Image.py", line 134, in <module>
    from pathlib2 import Path
  File "/Users/myuser/git/myproject/env/lib/python2.7/site-packages/pathlib2/__init__.py", line 5, in <module>
    import ctypes
  File "/Users/myuser/.pyenv/versions/2.7.15/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: ''
回溯(最近一次呼叫最后一次):
文件“/usr/local/Caskroom/google cloud sdk/latest/google cloud sdk/platform/google_appengine/google/appengine/runtime/wsgi.py”,第240行,在Handle中
handler=\u config\u handle.add\u wsgi\u中间件(self.\u LoadHandler())
文件“/usr/local/Caskroom/google cloud sdk/latest/google cloud sdk/platform/google\u appengine/google/appengine/api/lib\u config.py”,第358行,位于__
self.\u update\u configs()
文件“/usr/local/Caskroom/google cloud sdk/latest/google cloud sdk/platform/google\u appengine/google/appengine/api/lib\u config.py”,第294行,在更新配置中
self.\u registry.initialize()
文件“/usr/local/Caskroom/google cloud sdk/latest/google cloud sdk/platform/google_appengine/google/appengine/api/lib_config.py”,第165行,在初始化中
导入函数(self.\u modname)
文件“/Users/myuser/.pyenv/versions/2.7.15/lib/python2.7/importlib/\uuuu init\uuuuu.py”,第37行,在导入模块中
__导入(名称)
文件“/Users/myuser/git/myproject/appengine_config.py”,第38行,在
cloud\u sql\u conn\u retry.monkey\u patch\u mysql\u backend()
文件“/Users/myuser/git/myproject/server/utils/cloud\u sql\u conn\u retry.py”,第14行,在monkey\u patch\u mysql\u后端
从django.db.backends.mysql.base导入DatabaseWrapper
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/db/backends/mysql/base.py”,第38行,在
from.creation导入数据库creation#isort:skip
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/db/backends/mysql/creation.py”,第4行,在
从django.db.backends.base.creation导入BaseDatabaseCreation
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/db/backends/base/creation.py”,第5行,在
从django.core导入序列化程序
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/core/serializers/_init__.py”,第23行,在
从django.core.serializers.base导入SerializerDoesNotExist
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/core/serializers/base.py”,第4行,在
从django.db导入模型
文件“/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/models/_-init__.py”,第3行,在
来自django.db.models.aggregates import*#NOQA
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/db/models/aggregates.py”,第5行,在
从django.db.models.expressions导入Func、Star
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/db/models/expressions.py”,第6行,在
从django.db.models导入字段
文件“/Users/myuser/git/myproject/env/lib/python2.7/site-packages/django/db/models/fields/_-init___;.py”,第14行
来自django导入表单
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/forms/_init__.py”,第7行,在
从django.forms.fields导入*#NOQA
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/forms/fields.py”,第17行,在
来自django.core导入验证程序
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/core/validators.py”,第507行,在
允许的\u扩展=获取可用的\u图像\u扩展(),
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/django/core/validators.py”,第498行,在get\u available\u image\u扩展名中
从PIL导入图像
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/PIL/Image.py”,第134行,在
从路径lib2导入路径
文件“/Users/myuser/git/myproject/env/lib/python2.7/site packages/pathlib2/_init__.py”,第5行,在
导入ctypes
文件“/Users/myuser/.pyenv/versions/2.7.15/lib/python2.7/ctypes/\uuuu init\uuuu.py”,第29行,在
如果int(_os.uname()[2].split('.')[0])<8:
ValueError:基数为10的int()的文本无效:“”
此外,在PythonShell中导入CType时,一切都正常。以下是在虚拟环境中导入的库的路径。ctypes和os从pyenv interpeter导入,django从virtualenv python导入。我不清楚为什么,我怀疑这可能与这个问题有关

>>> import ctypes
>>> print(ctypes)
<module 'ctypes' from '/Users/myuser/.pyenv/versions/2.7.15/lib/python2.7/ctypes/__init__.pyc'>
>>> import os
>>> print (os)
<module 'os' from '/Users/myuser/.pyenv/versions/2.7.15/lib/python2.7/os.pyc'>
>>> import django
>>> print (django)
<module 'django' from '/Users/myuser/git/myapp/env/lib/python2.7/site-packages/django/__init__.pyc'>
>>导入ctypes
>>>打印(ctypes)
>>>导入操作系统
>>>打印(操作系统)
>>>进口django
>>>印刷品(django)
我在谷歌上找不到任何有同样问题的结果。
可能是什么问题?

问题是由在
app.yaml
中配置的旧版本的PIL引起的。App Engine支持开箱即用的版本1.1.17,该版本不适用于最新的python 2版本


我安装了5.0.0版PIL,并从应用程序引擎设置中删除了1.1.17,解决了问题。

输出
os.uname()
(将其添加到应用程序中)?此外,在shell控制台中,
uname-a
?@CristiFati uname-a输出为Darwin Ors-MacBook-Pro.local 19.3.0 Darwin内核版本19.3.0:Thu Jan 9 20:58:23 PST 2020;根目录:xnu-6153.81.5~1/RELEASE_X86_64 X86_64。我无法将os.name()添加到我的应用程序中,因为该问题,我无法加载其中的任何页面。
>>> import ctypes
>>> print(ctypes)
<module 'ctypes' from '/Users/myuser/.pyenv/versions/2.7.15/lib/python2.7/ctypes/__init__.pyc'>
>>> import os
>>> print (os)
<module 'os' from '/Users/myuser/.pyenv/versions/2.7.15/lib/python2.7/os.pyc'>
>>> import django
>>> print (django)
<module 'django' from '/Users/myuser/git/myapp/env/lib/python2.7/site-packages/django/__init__.pyc'>