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

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

相关推荐
witAI2 小时前
**AI漫剧一键生成2025指南,解锁零门槛动画创作新体验*
人工智能·python
ktoking2 小时前
Stock Agent AI 模型的选股器实现 [七]
人工智能·python·django
无人装备硬件开发爱好者2 小时前
Python + Blender 5.0 几何节点全栈实战教程1
开发语言·python·blender
witAI2 小时前
**AI漫剧制作工具2025推荐,解锁高效创作新体验**
人工智能·python
奔跑的呱呱牛2 小时前
geojson-to-kml (KML 格式转换工具)
arcgis·json
凉忆-2 小时前
llama-factory训练大模型
python·pip·llama
80530单词突击赢2 小时前
MPPI算法:ROS下的智能控制实战
开发语言·python
m0_706653232 小时前
自然语言处理(NLP)入门:使用NLTK和Spacy
jvm·数据库·python
m0_736919102 小时前
Python游戏中的碰撞检测实现
jvm·数据库·python