B站视频
0、首先,Abaqus2024将升级到Python3.10.5
,挺好。
1、官方的SMAPython.exe
与其内在的Python2.7
的主要区别在于:SMAPython.exe的sys.path
还加了两个路径:
C:\SIMULIA\EstProducts\2023\win_b64\code\bin
C:\SIMULIA\EstProducts\2023\win_b64\code\python2.7\lib
我的理解:相当于整合了一下资源库。
比如:code\python2.7\lib目录下的abaqus.pyc 可以很好的证明这一点。
1.1、反编译abaqus.pyc 部分代码如下:
#!/usr/bin/env python
# visit https://tool.lu/pyc/ for more information
# Version: Python 2.7
'''
abaqus.py
'''
from __future__ import print_function
import sys
import i18n
import os
import osutils
_cliCommandDbg = os.environ.get('ABQ_DBG_CLICOMMAND')
try:
from ababltin import *
except ImportError:
s = None
del sys.modules[__name__]
raise ImportError('abaqus module may only be imported in the Abaqus kernel process')
try:
from sessionstate import *
except ImportError:
s = None
del sys.modules[__name__]
raise ImportError('sessionstate failed to import')
我的感想:这样的策略啊,如果人家想“卡脖子/技术封锁”,那简直太容易了啊。
2、其次,我们来看一下Abaqus2023及以下的Python2.7的第三方库有哪些:
2.1、先安装pip (注意我的目录):
(base) PS C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7> .\python -m ensurepip --upgrade
Requirement already up-to-date: setuptools in c:\simulia\estproducts\2023\win_b64\tools\smapy\python2.7\lib\site-packages
Requirement already up-to-date: pip in c:\simulia\estproducts\2023\win_b64\tools\smapy\python2.7\lib\site-packages
(base) PS C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7>
2.2、查看第三方库(注意我的目录):
(base) PS C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\Scripts> .\pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
backports.functools-lru-cache (1.5)
cycler (0.10.0)
kiwisolver (1.0.1)
matplotlib (2.2.4)
mpmath (1.1.0)
numpy (1.15.4)
pip (9.0.3)
pyparsing (2.3.1)
python-dateutil (2.8.0)
pytz (2018.9)
pywin32 (222)
setuptools (39.0.1)
six (1.12.0)
sympy (1.3)
You are using pip version 9.0.3, however version 23.3.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(base) PS C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\Scripts>
我的感想:很多科学计算的库都有了,但是还差点东西对吧。
3、题外话:PowerShell里面get-help about_Command_Precedence
如图所示,这样利用JSON通信,可以实现比如AI计算 和仿真 解耦分离,相当于互联网工业的前后端分离。(除了JSON,也可以利用Python3生成Python2代码,直接运行)
题外话:国内鸿蒙开发的ArkTS 又是大一统了,说明大家还是喜欢统一的对吧。
等Abaqus2024,其自身就支持到了Python3.10.5。
题外话:2021年5月3日,Python 3.8.10(64位),是支持Windows7系统的最后一个版本,3.9 以后开始不支持Win7。
# -- coding: utf-8 --
# from abaqus import *
import os
import sys
import numpy as np
print(sys.executable)
print(sys.version)
print(np.__version__)
# 获取numpy的安装路径
numpy_path = os.path.dirname(np.__file__)
print("numpy is:", numpy_path)
for i in sys.path:
print(i)
PyCharmCE、Python2.7):C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\python.exe C:\Users\XGR\Desktop\test\test.py
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\python.exe
2.7.15 (default, Oct 10 2018, 11:09:01) [MSC v.1900 64 bit (AMD64)]
1.15.4
('numpy is:', 'C:\\SIMULIA\\EstProducts\\2023\\win_b64\\tools\\SMApy\\python2.7\\lib\\site-packages\\numpy')
C:\Users\XGR\Desktop\test
C:\Users\XGR\Desktop\test
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\python27.zip
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\DLLs
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\plat-win
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\lib-tk
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\win32
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\win32\lib
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\Pythonwin
进程已结束,退出代码为 0
Abaqus CAE):
Warning: Plug-in central directory not found: C:\SIMULIA\CAE\plugins\2023
Check the definition of the plugin_central_dir environment variable.
C:\SIMULIA\EstProducts\2023\win_b64\code\bin\ABQcaeK.exe
2.7.15 (default, Aug 27 2022, 06:47:47) [MSC v.1928 64 bit (AMD64)]
1.15.4
('numpy is:', 'C:\\SIMULIA\\EstProducts\\2023\\win_b64\\tools\\SMApy\\python2.7\\lib\\site-packages\\numpy')
C:\SIMULIA\EstProducts\2023\win_b64\code\python2.7\lib
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\lib-tk
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\win32
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\win32\lib
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\Pythonwin
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\DLLs
C:\Users\XGR\Desktop\test
C:\SIMULIA\EstProducts\2023
C:\SIMULIA\EstProducts\2023\win_b64
C:\SIMULIA\EstProducts\2023\win_b64\code
C:\SIMULIA\EstProducts\2023\win_b64\code\bin
C:\SIMULIA\EstProducts\2023\win_b64\code\bin\SMAExternal
C:\SIMULIA\EstProducts\2023\win_b64\CAEresources
C:\SIMULIA\EstProducts\2023\win_b64\SMA
C:\SIMULIA\EstProducts\2023\win_b64\code\bin\python27.zip
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\win32
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\win32\lib
C:\SIMULIA\EstProducts\2023\win_b64\tools\SMApy\python2.7\lib\site-packages\Pythonwin
C:\SIMULIA\EstProducts\2023\win_b64\code\bin
.
1、可以看到在Abaqus里面运行Python脚本,要比纯Python2.7多一点点啊。
2、反编译abaqus.pyc 可以看见一些保护策略,大概率配置好了(复刻)sys.path 也容易存在些问题。
3、在PyCharm里面配置sys.path目录。
题外话:
【未删减】一口气说完:Abaqus与Python第三方库交互问题。