[英]How integrate Abaqus python libraries into a project hosted in PyCharm
关于将 Abaqus 特定的 python 库集成到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 来解析以便为其提供代码完成魔法 go 的库驻留在此处 - 至少我相信它们是这样的。
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 似乎无效'。
问候
聚会晚了五年,但这对我来说在Windows 10上使用Abaqus 2016和PyCharm 2019.1 Professional:
>>>
图标)并输入以下内容: >>> import os
>>> print(os.environ['PYTHONPATH'])
C:\SIMULIA\CAE\2016;C:\SIMULIA\CAE\2016\win_b64;C:\SIMUL ...
PYTHONPATH
环境变量。 我修剪了一个重复的条目和一些.
路径。 PYTHONPATH
,转到File / Settings / Project / Project Interpreter,单击Cog图标,然后单击Add。 选择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
。 但是一些调试和代码完成工作,例如:
设置系统范围的路径似乎有点笨拙,但我无法通过任何其他方式。
我正在使用abaqus 6.14-4,希望对你有所帮助。 我想为什么我们需要PyCharm是因为我们想要完全使用它的类型检查器和其他函数。 如果我们只需要一个编辑器,那么Abaqus PDE就足够了。
为了实现这个目标,我一直在搜索abaqus python的源代码,但是找不到它。 由于abaqus仅提供已编译的* .pyc文件,因此我使用uncompyle6工具解码* .pyc文件并在其中添加一些函数。
有我的项目: abaqus_pycharm
注册\\SIMULIA\\Abaqus\\6.14-4\\tools\\SMApy\\python2.7\\python.exe
作为您的翻译(或者您可以选择任何你想要的)
将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
我建议使用 Python 中的 abqpy 库: https://abqpy.com
它为任何 IDE 中的 Abaqus 命令提供代码完成
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.