有一个类似的question关于将 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 解析以便发挥其代码完成魔力的库都驻留在此处 - 至少我相信它们是这样的。
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 似乎无效'。
问候
最佳答案
我正在使用 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 - 如何将 Abaqus python 库集成到 PyCharm 中托管的项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23242928/