Python:使用不同版本的numpy覆盖从Abaqus导入numpy

时间:2016-08-09 08:32:46

标签: python python-2.7 python-import abaqus

我运行的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

因此,当我将上述内容添加到我的脚本中时,会发生以下事情:

  1. import scipy行没有任何问题,这意味着我已成功将模块导入Abaqus Python环境。

  2. from scipy.optimize import curve_fit抛出以下ImportError:ImportError: numpy.core.multiarray failed to import

  3. 现在,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?

    由于我不是超级用户,因此我无法更改主文件夹之外的任何内容。

0 个答案:

没有答案