如何将Abaqus python库集成到PyCharm托管的项目中

hrirmatl  于 2022-12-29  发布在  PyCharm
关注(0)|答案(2)|浏览(362)

关于将Abaqus特定的python库集成到PyDev/Eclipse托管的项目中,有一个类似的question,但不幸的是,答案与我手头的问题不兼容。
我使用的是ABAQUS版本6.11-2和PyCharm 3.1.3的社区版。Abaqus python解释器位于我的windows7(64)机器上的以下位置:

C:\SIMULIA\Abaqus\6.11-2\Python\Obj\Python.exe
Python 2.6.2 for Abaqus 6.11-2 (r262:71600, Jun 29 2011, 19:23:41) [MSC v.1500 64 bit (AMD64)] on win32

我需要PyCharm来解析的库,以便给予它的代码完成魔法生效,这些库驻留在这里--至少我相信它们是这样的。

C:\SIMULIA\Abaqus\6.11-2\Python\Lib
C:\SIMULIA\Abaqus\6.11-2\Python\Lib\abaqus.pyc
C:\SIMULIA\Abaqus\6.11-2\Python\Lib\abaqusConstants.pyc

下面是我正在尝试处理的脚本的第一行代码。

from abaqus import *
from abaqusConstants import *
backwardCompatibility.setValues(includeDeprecated=True, reportDeprecated=False)
import sketch
import part

PyCharm用红色下划线标记abaqus和abaqusConstants导入。

"Unresolved reference 'abaqus'".

有人能给我解释一下如何在PyCharm中配置项目,以便PyCharm可以解析这些导入吗?
在“设置”对话框中添加上述Python.exe作为项目解释器将导致出现以下错误消息框:“无法在~path~处设置python SDK。SDK似乎无效”。

问候

pgvzfuti

pgvzfuti1#

我用的是abaqus 6.14-4,希望对你有帮助。我想我们需要PyCharm的原因是因为我们想充分利用它的类型检查器和其他功能。如果我们只需要一个编辑器,那么Abaqus PDE就足够了。
为了实现这个目标,我找了很久的abaqus python源代码,但是没有找到,由于abaqus只提供编译后的 *.pyc文件,所以我使用了工具uncompyle 6来解码 *.pyc文件,并在其中添加了一些函数。
这是我的项目:abaqus_pycharm
1.注册\SIMULIA\Abaqus\6.14-4\tools\SMApy\python2.7\python.exe作为你的解释器(或者你可以选择任何你想要的)
1.复制文件在import-files文件夹到你的site-packages文件夹
注意这个程序使用os.system命令运行abaqus命令行,如下图:

def saveAs(self, pathName):
    if isinstance(self.debug, bool) and self.debug:
        print(pathName)
    if 'ABAQUS_BAT_SETTING' in os.environ.keys():
        self.abaqus_bat_setting = os.environ['ABAQUS_BAT_SETTING']
    if 'ABAQUS_BAT_PATH' in os.environ.keys():
        self.abaqus_bat_path = os.environ['ABAQUS_BAT_PATH']
    os.system(self.abaqus_bat_path + ' cae -' + self.abaqus_bat_setting + ' ' + os.path.abspath(sys.argv[0]))

所以我们需要设置这样的环境:

environ['ABAQUS_BAT_PATH'] = 'D:\\SIMULIA\\Abaqus\\Commands\\abaqus'
environ['ABAQUS_BAT_SETTING'] = 'noGUI'

它将运行为:

D:\SIMULIA\Abaqus\Commands\abaqus.bat -noGUI your_current_working_file.py
ve7v8dk2

ve7v8dk22#

晚了五年的党,但这对我的工作与Abaqus 2016和PyCharm 2019.1专业版Windows 10:
1.打开Abaqus CAE,转到内核命令行界面(>>>图标)并输入以下内容:

>>> import os
>>> print(os.environ['PYTHONPATH'])
C:\SIMULIA\CAE\2016;C:\SIMULIA\CAE\2016\win_b64;C:\SIMUL ...

1.复制输出并使其成为系统范围的PYTHONPATH环境变量。我删除了一个重复条目和一些.路径。

1.重新启动PyCharm,让它获得新的PYTHONPATH,进入File/Settings/Project/Project Interpreter,点击Cog图标,然后添加。选择System Interpreter选项,然后将其指向Abaqus bin目录中的python.exe。在我的例子中,这是C:\SIMULIA\CAE\2016\win_b64\code\bin\python.exe。不要被其他的C:\SIMULIA\CAE\2016\win_b64\tools\SMApy\python2.7\python.exe误导-它们不会工作。
这并不是无懈可击的--例如,你的行from abaqus import *对我来说不起作用--即使我把ABA_PATH添加到系统路径中,我得到的也是ImportError: abaqus module may only be imported in the Abaqus kernel process。但是一些调试和代码完成是起作用的,例如:

设置系统范围的路径似乎有点笨拙,但我无法让它以任何其他方式进行。

相关问题