python2 code get error when using python3.5
本问题已经有最佳答案,请猛点这里访问。
1 2 3 4 5 6 7 8 9 10 11 | 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) |
上面的代码将在python3.5上运行时得到错误。错误是:crosscompile.py",第16行,在finalize_选项中attributeError:''u environn'对象没有属性'has'u key'
有人知道如何在python3.5中修改代码以使其可用吗?
1 | if self.cross_compile and 'PYTHONXCPREFIX' in os.environ: |
在python 3.x中删除了_key()。使用
1 | 'PYTHONXCPREFIX' in os.environ |
使用
它也可以返回false,将其作为默认值传递。
1 | os.environ.get('PYTHONXCPREFIX', False) |