Python2 安装pytinyxml2(装库异常通用处理办法)

本文介绍了在Python2环境下安装pytinyxml2过程中遇到的问题及解决方案,包括修改版本安装、编译安装、解决swig.exe缺失、安装C++编译器以及处理_pytinyxml2模块异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python2 安装pytinyxml2

老工程要使用pytinyxml2,官网显示最后一个版本2.1.0更新于6年,所以安装的过程中踩了非常多的坑。其中一些技巧适用于各种装库异常。

常用小技巧:修改版本

因为python2.7官方都不支持了,所以慢慢的很多库都开始废弃py2支持了,导致最新的版本安装出错
例如安装numba时,直接pip会失败
在这里插入图片描述
可以尝试安装历史版本

pip install llvmlite==0.29.0
pip install numba==0.44.1

不确定历史版本时可用如下方式看所有版本号,从最后一个开始向前尝试即可。
在这里插入图片描述

编译安装pytinyxml2

在GitHub上找到pytinyxml2的工程并下载到本地,进入工程目录编译

python setup.py build_ext --inplace
python setup.py build_ext install

这时提示没有 swig.exe,还是没安装成功……

解决缺少swig.exe

swig是C++转python接口的工具

  • 下载swig(https://sourceforge.net/projects/swig/),注意是否是windows版本
  • 解压缩到任意文件夹下
  • 加路径,网上有两种方法
    • 方法1:将swig.exe复制到python2.7所在目录下,将swig/lib里所有*.swg复制到python2.7/Lib下。会提示有同名文件,我选择了跳过。再运行时如果提示找不到某些.swg文件,到swig的原文件夹下找到同名文件复制python2.7/lib下即可。
    • 方法2:将swig.exe所在路径配置到环境变量中(我试了无效)

安装C++

swig要求安装过Microsoft Visual C++,如果没有安装过会出现很详细的提示,包括版本和下载链接。去官网下载即可,很简单。

error: Microsoft Visual C++ 14.0 is required. Get it with http://xxxxx

_pytinyxml2 has no attribute XML_ERROR_COUNT

以为安装完成,运行脚本的时候却发现少了点什么,一度怀疑自己装错了。
其实并没有!
根据python trace找到报错的文件,发现是swig自动生成的一个东西
在这里插入图片描述
应该是把C++的东西映射到python,实际XML_ERROR_COUNT这个属性在业务脚本中可能都没用到。果断注释掉!终于把脚本调通了!撒花!
在这里插入图片描述

一个小坑

一些库可以直接

python setup.py install

但是可能出现user warning, 那就必须使用build后install的办法
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值