[英]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.