Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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
使用python3.5时,python2代码出现错误_Python - Fatal编程技术网

使用python3.5时,python2代码出现错误

使用python3.5时,python2代码出现错误,python,Python,上面的代码在python3.5上运行时会出现错误。 错误是: crosscompile.py”,第16行,在finalize_选项中 AttributeError:“\u Environ”对象没有属性“has\u key” 有人知道如何修改代码使其在python3.5中可用吗?has\u key在python3中被删除,但您也不应该在2中使用它。使用in操作符: def finalize_options(self): if self.cross_compile and os.enviro

上面的代码在python3.5上运行时会出现错误。 错误是: crosscompile.py”,第16行,在finalize_选项中 AttributeError:“\u Environ”对象没有属性“has\u key”


有人知道如何修改代码使其在python3.5中可用吗?

has\u key
在python3中被删除,但您也不应该在2中使用它。使用
in
操作符:

def finalize_options(self):
    if self.cross_compile and os.environ.has_key('PYTHONXCPREFIX'):
        prefix = os.environ['PYTHONXCPREFIX']
        sysconfig.get_python_lib = get_python_lib
        sysconfig.PREFIX = prefix
        sysconfig.EXEC_PREFIX = prefix
        # reinitialize variables
        sysconfig._config_vars = None
        sysconfig.get_config_var("LDSHARED")

    _build.finalize_options(self)
使用
中的
获取

if self.cross_compile and 'PYTHONXCPREFIX' in os.environ:
使用
get

if self.cross_compile and 'PYTHONXCPREFIX' in os.environ:
os.environ.get('PYTHONXCPREFIX')
。如果不存在,则返回None

它也可以返回False,将其作为默认值传递

'PYTHONXCPREFIX' in os.environ

请参见以下内容:
'PYTHONXCPREFIX'在os.environ中
在第2行?os.environ的含义是什么?是关于环境变量PYTHONXCPREFIX?@user1450650 os.environ是一个包含系统中所有环境变量的dict。