簡體   English   中英

如何將 Abaqus python 庫集成到 PyCharm 托管的項目中

[英]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 似乎無效'。

屏幕截圖 - 設置對話框

屏幕截圖 - ErrorMessageBox

問候

聚會晚了五年,但這對我來說在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環境變量。 我修剪了一個重復的條目和一些. 路徑。

設置系統PYTHONPATH環境變量

  1. 重新啟動PyCharm以便它獲取新的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 但是一些調試和代碼完成工作,例如:

將PyCharm調試器與Abaqus一起使用

在PyCharm中完成Abaqus Python代碼

設置系統范圍的路徑似乎有點笨拙,但我無法通過任何其他方式。

我正在使用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

我建議使用 Python 中的 abqpy 庫: https://abqpy.com

它為任何 IDE 中的 Abaqus 命令提供代碼完成

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM