我运行的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
现在,ImportError与Abaqus环境有一个旧的numpy版本。
我的输出:
['/opt/gcdistro/app/abaqus/6.14-5/6.14-5/tools/SMApy/python2.7/lib/python2.7/site-packages/numpy'] --- 1.6.2
['/opt/gcdistro/app/anaconda/2.7/lib/python2.7/site-packages/scipy'] --- 0.16.0
这里奇怪的是,即使我将路径插入到包含兼容版本的numpy和scipy的Anaconda网站包中,它也只是从那里成功导入了scipy。 Abaqus想要使用的旧numpy版本无法用site-packages目录中包含的新numpy版本“覆盖”。
如何“强制”使用Anaconda numpy而不是Abaqus numpy?
由于我不是超级用户,因此我无法更改主文件夹之外的任何内容。