Arcgis中pip安装ezdxf部分GIS有pyparsing安装失败的情况处理

缘起:

Arcgis的CAD工具上线后,使用的时候会检查python环境自动安装ezdxf==0.8.8,最近出现了几个自动安装失败的情况。

随即让使用python包管理工具,自动安装ezdxf,显示出更多的信息:

发现ArcGIS10.2中pip版本正常安装了20.3.4版本,但有一个pyparsing1.5.7版本,导致无法正常安装ezdxf。

通过环境工具卸载pyparsing,不行,升级也不行。

尝试用cmd命令也不行

反馈在GIS10.2版本,也有GIS10.3的,估计pyparsing1.5.7 旧版本是非pip安装的,pip无法安全的卸载或者升级,

所以里有跳过原版本,直接安装新版本

解决办法:

cmd里运行pip安装命令:

需修改python.exe的路径,确保已经安装有pip

使用了阿里云镜像

复制代码
C:\Python27\ArcGIS10.2\python.exe -m pip install --ignore-installed pyparsing==2.4.7 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

今天又有人反馈有这个问题,所以对GIS导出CAD工具的代码做了一个升级

安装ezdxf前检查pyparsing版本,如果有1.5.7自动升级为2.4.7

python 复制代码
import os
def install_ezdxf():
    global ezdxf
    try:
        import ezdxf
        print("> ezdxf检查..已安装")
    except ImportError:
        pip_exe = pip_setup()#检查并获取pip.exe的路径,可以手动输入
        addm("> 安装 ezdxf..." )
        try:
            import pyparsing
            if pyparsing.__version__ == '1.5.7':
                print("> 升级pyparsing至2.4.7...")
                cmd= '%s -m pip install --ignore-installed pyparsing==2.4.7 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com'% (pip_exe)
                result = os.popen(cmd).read()
                print(result)
        except ImportError:
            pass
        cmd = '%s install ezdxf==0.8.8 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com' % (pip_exe)
        result = os.popen(cmd).read()
        print(result)
        import ezdxf
    globals()['ezdxf'] = ezdxf

如果你对这个工具感兴趣,可以联系我

相关推荐
用户8356290780516 小时前
使用 Python 操作 Word 内容控件
后端·python
码云骑士7 小时前
32-慢查询排查全流程(下)-索引优化实战与最左前缀原则
python
闵孚龙8 小时前
《PyTorch 深度修炼》Dataset 和 DataLoader:数据如何喂给模型
人工智能·pytorch·python
goldenrolan8 小时前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
菜板春8 小时前
jupyter入门-手册-特征探索
python·jupyter
Metaphor6928 小时前
使用 Python 将 PDF 转换为 HTML
python·pdf·html
极光代码工作室8 小时前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
开发小能手-roy9 小时前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全
AC赳赳老秦9 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw