我从先前关于此类问题的讨论中未成功将numpy
包导入ABAQUS Python环境。
我正在使用Microsoft Windows 7(64位)。我安装了ABAQUS 6.10。通过在MS-DOS提示符下键入命令abaqus python
,我发现ABAQUS 6.10使用的是Python 2.6.2版本。出于一个重要原因,我的python脚本文件需要使用array
包中提供的numpy
函数。我根据之前的讨论进行了以下步骤:
Python 2.6.2安装:
C:\Python26\
(我已在文件夹C:\Python27\
中安装了Python 2.7.6)PATH
变量下的环境系统变量更改为C:\Python26\;
(之前为C:\Python27\
)PYTHONPATH
变量下的环境用户变量更改为C:\Python26\Lib\site-packages\
(之前为C:\Python27\
)python
成功加载Python 2.6.2。Python 2.6.2的Numpy安装:
numpy-1.3.0-win32-superpack-python2.6
。python
成功加载Python 2.6.2。numpy
成功导入import numpy
。ABAQUS 6.10的Numpy安装:
C:\Python26\Lib\site-packages\
复制 numpy 文件夹并粘贴到D:\SIMULIA\Abaqus\6.10-1\Python\Lib\site-packages
,这是ABAQUS的python模块文件夹。请注意我在D:驱动器中安装了ABAQUS 6.10。from numpy import *
并将其保存在桌面上。myScript.py
。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显示出一个警告,它不稳定并随后会崩溃。
我的基本问题是:&#34; 如何成功将numpy
包导入ABAQUS环境?&#34;
答案 0 :(得分:2)
老实说,32位版本的numpy不适用于64位版本的Python。因此,错误是非常期待的。即使Abaqus使用的是32位版本,我强烈建议不要复制和粘贴库的目录。
dim_voly回答是解决这个问题的简单方法,但如果您真的想在Abaqus中使用numpy,这里有一些说明
这个link非常清楚地解释了如何安装numpy。您需要在PATH环境变量中包含Abaqus Python目录。安装pip
后,应该很容易安装numpy和您需要的任何其他库。
我目前正在使用已安装numpy的Abaqus 6.13。因此,升级软件也是一种可行的解决方案。
希望这有帮助
答案 1 :(得分:1)
我无法将任何内容导入Abaqus python环境。我使用的解决方法是使用主.py脚本生成.py脚本。因此,所有计算都以文本形式完成并粘贴到模板.py脚本中。然后主脚本调用abaqus来运行python脚本。
我一般发现Abaqus中的python版本落后于主流python版本,远程做任何事情都不会起作用,因为它依赖于Simulia进行更新。我也使用太多自定义包。
在任何情况下,您最终都希望使用主python脚本来设置文件夹等高级内容并从表中读取数据。如果您正在运行脚本来构建模型,我不会怀疑您是否正在进行参数研究,因此您的循环可以在主脚本中。
有时将数据传递到abaqus .py文件的工作原理是设置结构或类并使用<?php
include 'connection.php';
$sql="SELECT * FROM `tbl`";
$query=mysqli_query($connect,$sql);
echo "<table border='2px'>
<thead>
<th>ID</th>
<th>Title</th>
<th>Name</th>
<th>Doing</th>
<th>Done</th>
</thead>
<tbody>
<form method='POST'>";
while($res=mysqli_fetch_assoc($query)){
$id=$res['id'];
echo"<tr>
<td>{$res['id']}</td>
<td>{$res['title']}</td>
<td>{$res['name']}</td>
<td><input type='checkbox' name='doing[]' value='".$res['id'].$res['title'].$res['name']."'></td>
<td><input type='checkbox' name='done[]' value='".$res['id'].$res['title'].$res['name']."'></td>
</tr>";
}
echo "<input type='submit' value='OK' name='btn'>
</form>
</tbody>
</table>";
?>
保存它。据我所知,只要该类不包含任何自定义导入,它就是可导入的。