簡體   English   中英

將numpy包導入ABAQUS 6.10 Python環境

[英]Importing numpy package into ABAQUS 6.10 Python environment

從關於此類似問題的先前討論中,我沒有成功將numpy包導入ABAQUS Python環境。

我正在使用Microsoft Windows 7(64位)。 我已經安裝了ABAQUS 6.10。 通過在MS-DOS提示符下鍵入命令abaqus python ,我發現ABAQUS 6.10使用Python 2.6.2版本。 出於重要原因,我的python腳本文件需要使用numpy包中可用的array函數。 我根據之前的討論采取了以下步驟:

Python 2.6.2安裝

  1. 將Python 2.6.2版本(32位)安裝到C:\\Python26\\ (我已經在文件夾C:\\Python27\\安裝了Python 2.7.6)
  2. PATH 變量下的環境系統變量更改為C:\\Python26\\; (以前是C:\\Python27\\
  3. PYTHONPATH 變量下的環境用戶變量更改為C:\\Python26\\Lib\\site-packages\\ (以前是C:\\Python27\\
  4. 在MS-DOS提示符下使用命令python成功加載了Python 2.6.2。

適用於Python 2.6.2的Numpy安裝

  1. Sourceforge.net- NumPy 1.3.0在C:\\ Python26 \\ Lib \\ site-packages文件夾中下載並安裝了numpy(32位)MSI安裝程序文件numpy-1.3.0-win32-superpack-python2.6
  2. 在MS-DOS提示符下使用命令python成功加載了Python 2.6.2。
  3. 在python環境中使用命令import numpy numpy成功import numpy

ABAQUS 6.10的Numpy安裝

  1. C:\\Python26\\Lib\\site-packages\\復制numpy文件夾,然后粘貼到D:\\SIMULIA\\Abaqus\\6.10-1\\Python\\Lib\\site-packages ,這是ABAQUS的python modules文件夾。 請注意,我已經在D:驅動器中安裝了ABAQUS 6.10。
  2. 創建了一個python腳本文件myScript.py,其中僅包含以下代碼行: from numpy import *並將其保存在桌面中。
  3. 打開MS-DOS提示符,並將文件夾目標更改為包含myScript.py桌面。
  4. 我最終在MS-DOS提示符下鍵入了以下命令,以在ABAQUS Python環境中運行腳本文件: abaqus cae noGUI=myScript.py ,出現以下錯誤:
 Abaqus License Manager checked out the following license(s): "cae" release 6.10 from 127.0.0.1 <2010 out of 2011 licenses remain available>. ImportError: DLL load failed: %1 is not a valid Win32 application. File "myScript.py", line 4, in <module> from numpy import array File "C:\\Python26\\Lib\\site-packages\\numpy\\__init__.py", line 130, in <module> import add_newdocs File "C:\\Python26\\Lib\\site-packages\\numpy\\add_newdocs.py", line 9, in <module> from lib import add_newdoc File "C:\\Python26\\Lib\\site-packages\\numpy\\lib\\__init__.py", line 4, in <module> from type_check import * File "C:\\Python26\\Lib\\site-packages\\numpy\\lib\\type_check.py", line 8, in <module> import numpy.core.numeric as _nx File "C:\\Python26\\Lib\\site-packages\\numpy\\core\\__init__.py", line 5, in <module> import multiarray Abaqus Error: cae exited with an error. 

注意:我安裝了32位Python 2.6.2,因為可用於64位的numpy顯示了一個警告,警告它不穩定並隨后會崩潰。

我的基本問題是:“ 如何將numpy包成功導入到ABAQUS環境中?

老實說,numpy的32位版本不適用於Python的64位版本。 因此,該錯誤是完全可以預期的。 即使Abaqus使用32位版本,我也強烈建議不要復制和粘貼該庫的目錄。

dim_voly答案是解決此問題的簡便方法,但是如果您真的想在Abaqus中使用numpy,則可以使用以下說明

  • 鏈接非常清楚地說明了如何安裝numpy。 您將需要在PATH環境變量中包含Abaqus Python目錄。 安裝pip ,應該很容易安裝numpy和您需要的任何其他庫。

  • 我當前正在使用已經隨numpy一起安裝的Abaqus 6.13。 因此,升級軟件也是可行的解決方案。

希望這可以幫助

我在將任何內容導入Abaqus python環境時遇到了麻煩。 我使用的解決方法是使用主.py腳本生成.py腳本。 因此,所有計算都已完成,並以文本形式粘貼到模板.py腳本中。 然后,主腳本隨后調用abaqus來運行python腳本。

我通常發現Abaqus中的python版本落后於主流python版本,並且遠程執行任何與眾不同的操作均不起作用,因為它依賴Simulia來進行更新。 我也使用了太多的自定義程序包。

無論如何,您最終都希望使用主python腳本來設置高級內容,例如文件夾和從表中讀取數據。 而且,如果您正在運行用於構建模型的腳本,那么我不懷疑您正在進行參數研究,因此您的循環可以在主腳本中進行。

有時將數據傳遞到abaqus .py文件中的方法是設置結構或類,並使用pickle保存。 據我記得,pickle的工作原理是可以導入的,只要該類不包含任何自定義導入即可。

暫無
暫無

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

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