我运行的Abaqus有一个预安装的库(numpy),它的版本是1.6.2这是唯一一个作为Abaqus的“插件”存在的预装模块(而不是本机Abaqus CAE库)。在
我希望能够运行一个用abaqus cae nogui=makro.py执行的python脚本,这样我也可以访问scipy。我在一个非常严格的环境中执行所有这些操作(不移动安装目录中的文件夹)
我试过以下方法:import sys
sys.path.insert(0, '/opt/gcdistro/app/anaconda/2.7/lib/python2.7/site-packages')
import numpy
print(str(numpy.__path__) + ' --- ' + str(numpy.__version__))
sys.stdout.flush()
import scipy
print(str(scipy.__path__) + ' --- ' + str(scipy.__version__))
sys.stdout.flush()
from scipy.optimize import curve_fit
因此,当我将上述内容添加到脚本中时,会发生两件事:import scipy行运行没有任何问题,这意味着我已经成功地将模块导入到Abaqus Python环境中。
from scipy.optimize import curve_fit抛出以下ImportError:ImportError: numpy.core.multiarray failed to import
现在,重要的是阿巴克斯的环境有一个老版本的纽比。在
我的输出:
^{pr2}$
奇怪的是,尽管我插入了Anaconda站点包的路径,其中包含numpy和scipy的兼容版本,但它只成功地从那里导入scipy。Abaqus想要使用的旧numpy版本不能被包含在site packages目录中的新numpy版本“覆盖”。在
我如何“强制”使用水蟒而不是Abaqus numpy?
因为我不是超级用户,所以我无法更改主文件夹之外的任何内容。在