许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  abaqus python脚本导入第三方库报错?路径配置方法

abaqus python脚本导入第三方库报错?路径配置方法

阅读数 4
点赞 0
article_banner

ImportError: No module named numpy,abaqus python 里跑脚本第一行就报这个,abaqus 自带的 python 是精简版,numpy 可能有但 scipy、pandas、matplotlib 这些不一定全,先确认 abaqus 版本对应的 python 版本,2021 是 python 2.7,2022 之后是 3.7 还是 3.8,在 abaqus python 命令行里敲 import sys; print(sys.version) 看一眼。


sys.path 是核心,abaqus python 启动的时候会读环境变量 PYTHONPATH,还有 abaqus 安装目录下的 site-packages,自己装的第三方库路径要加进去,两种方式,一种是在脚本开头直接 sys.path.append(r'D:\python_libs\site-packages'),另一种是设环境变量,控制面板里系统变量新建 PYTHONPATH,值填库的路径,多个用分号隔开,设完重启 abaqus 才生效。


pip 装库要对着 abaqus 的 python 装,不能对着系统的 python,abaqus python -m pip install numpy 这样跑,但 abaqus 自带的 pip 可能没有,先 abaqus python -m ensurepip 把 pip 装上,再装库,装的时候注意版本,python 2.7 的库跟 python 3 的不兼容,scipy 对 numpy 版本有要求,先装 numpy 再装 scipy,顺序反了报错。


路径里的反斜杠,r'D:\python_libs' 或者 'D:\\python_libs',直接写 'D:\python_libs' 里的 \p 会被当转义,路径就不对了,用 os.path.join 拼接也行,os.path.join('D:', 'python_libs', 'site-packages'),跨平台兼容,脚本里不要硬编码路径,用 os.path.dirname(os.path.abspath(__file__)) 拿当前脚本目录,相对路径找库。

abaqus python脚本

abaqus cae noGUI 和 abaqus python 两个命令的环境不一样,noGUI 会加载 cae 的模块,python 是纯解释器,有些库在 noGUI 里能 import 在 python 里不能,反过来也有,脚本里 import abaqus 和 import abaqusConstants 只有 noGUI 或者 cae 里能用,纯 python 解释器没有这些模块,跑脚本的时候想清楚用哪个命令。


sys.path 的搜索顺序是先当前目录,再 PYTHONPATH,再安装目录的 site-packages,最后是标准库,如果自己装的库跟 abaqus 自带的同名,比如 numpy,自己装的在前面的话会覆盖 abaqus 自带的,版本不兼容可能导致 abaqus 自己的脚本跑不起来,装库之前先 print(sys.path) 看看当前顺序,或者用虚拟环境隔离。


虚拟环境在 abaqus 里用不了,abaqus python 不支持 venv 和 conda,只能用系统级的 site-packages,要隔离的话把库装到一个独立目录,脚本里 sys.path.insert(0, r'D:\abaqus_py_libs') 手动指定,要用哪个库就切哪个路径,比虚拟环境麻烦但能避免版本冲突,D:\abaqus_py_libs\ 下面按库名分子目录,numpy_1_16、scipy_1_2 这样。


常见的坑:库装了但 import 报错,检查 sys.path 里有没有那个路径;装了 64 位的库但 abaqus python 是 32 位的,架构不匹配,abaqus 新版本都是 64 位了,老版本 6.14 有 32 位的;pip 装的时候没指定 --user,装到系统目录权限不够,加 --user 装到用户目录下;abaqus 2020 之前 python 2.7 的库很多都停止更新了,scipy 1.2 是最后一个支持 2.7 的版本,再新就装不上,实在要用新库就升级 abaqus 或者把库的功能用纯 python 重写,用 abaqus 自带的 math 和 cae 模块能做的就先做,实在缺的再想办法,D:\abaqus_py_libs\README 里记一下每个库的版本和装法,下次换机器直接照抄……


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空