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

问题描述 投票:7回答:2

关于将Abaqus特定python库集成到question中托管的项目中,有类似的PyDev/Eclipse。但不幸的是,答案与我手头的问题不相符。

我正在使用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似乎无效'。

问候

python pycharm abaqus
2个回答
2
投票

聚会晚了五年,但这对我来说在Windows 10上使用Abaqus 2016和PyCharm 2019.1 Professional:

  1. 打开Abaqus CAE,转到内核命令行界面(>>>图标)并输入以下内容:
>>> import os
>>> print(os.environ['PYTHONPATH'])
C:\SIMULIA\CAE\2016;C:\SIMULIA\CAE\2016\win_b64;C:\SIMUL ...
  1. 复制输出并使其成为系统范围的PYTHONPATH环境变量。我修剪了一个重复的条目和一些.路径。

Setting System PYTHONPATH environment variable

  1. 重新启动PyCharm以便它获取新的PYTHONPATH,转到File / Settings / Project / Project Interpreter,单击Cog图标,然后单击Add。选择System Interpreter选项,然后将其指向Abaqus python.exe目录中的bin。在我的情况下,这是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。但是一些调试和代码完成工作,例如:

Using the PyCharm debugger with Abaqus

Abaqus Python code completion in PyCharm

设置系统范围的路径似乎有点笨拙,但我无法通过任何其他方式。


1
投票

我正在使用abaqus 6.14-4,希望对你有所帮助。我想为什么我们需要PyCharm是因为我们想要完全使用它的类型检查器和其他函数。如果我们只需要一个编辑器,那么Abaqus PDE就足够了。

为了实现这个目标,我一直在搜索abaqus python的源代码,但是找不到它。由于abaqus仅提供已编译的* .pyc文件,因此我使用uncompyle6工具解码* .pyc文件并在其中添加一些函数。

有我的项目:abaqus_pycharm

  1. 注册\SIMULIA\Abaqus\6.14-4\tools\SMApy\python2.7\python.exe作为您的口译员(或者您可以选择任何您想要的)
  2. 将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
© www.soinside.com 2019 - 2024. All rights reserved.