Instalar Módulos no Python - PHydra/Hydra GitHub Wiki

Instalação de Módulos Python no ABAQUS 2017

Este tutorial serve para mostar o passo a passo de como instalar módulos Python (ex. scipy e matplotlib) que não estão disponíveis no Python do ABAQUS. A instalação será realizada copiando-se os módulos do Python do Windows para o Python do ABAQUS. Para isso, é necessário ter o Python instalado no Windows com a mesma versão do Python do ABAQUS.

Uma forma de utilizar diferentes versões do Python em uma mesma máquina é utilizando o programa Anaconda. Por isso, a instalação deste programa será necessária.

1. Verificando as Versões do Python

A versão do Python do ABAQUS 2017 é 2.7.3 e a do módulo numpy é 1.6.2, mas, caso deseje confirmar, digite no prompt do ABAQUS:

>>> import sys
>>> sys.version
'2.7.3 (default, Feb  6 2016, 06:24:46) [MSC v.1700 64 bit (AMD64)]'
>>> import numpy
>>> numpy.version.version
'1.6.2'

Essas versões são necessárias para a criação do ambiente de desenvolvimento.

2. Instalação do Anaconda

Para instalar o Anaconda siga as instruções do site da Anaconda ou através do tutorial: "Anaconda: Instalação e Uso".

3. Crianção de um Ambiente de Desenvolvimento

Com o uso do Anaconda podemos criar um ambiente de desenvolvimento com as mesmas características do Python do ABAQUS. Para criar um ambiente denominado pyABQ faça:

  1. Abra o prompt de comando do Anaconda, digitando "Anaconda" no menu Iniciar do Windows;
  2. Digite o comando abaixo de acordo com as versões já identificadas:
    $ conda create -n pyABQ python=2.7.3 numpy=1.6.2 anaconda
    
    Surgirá a seguinte mensagem:
    $ conda create -n pyABQ python=2.7.3 numpy=1.6.2 anaconda
    Fetching package metadata ...........
    Solving package specifications: .
    
    Package plan for installation in environment C:\Users\bismarck\AppData\Local\
    Continuum\Anaconda2\envs\pyABQ:
    
    The following NEW packages will be INSTALLED:
    
        anaconda:   custom-py27_0
        pip:        9.0.1-py27_1
        python:     2.7.3-7
        setuptools: 27.2.0-py27_1
        wheel:      0.29.0-py27_0
    
    Proceed ([y]/n)?
    
  3. Digite enter para continuar a instalação. Surgirá a seguinte mensagem:
    python-2.7.3-7 100% |###############################| Time: 0:00:08   2.43 MB/s
    anaconda-custo 100% |###############################| Time: 0:00:00   1.38 MB/s
    INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}',
    prefix: 'C:\Users\bismarck\AppData\Local\Continuum\Anaconda2\envs\pyABQ', env_n
    me: 'pyABQ', mode: 'None', used_mode: 'user'
    #
    # To activate this environment, use:
    # > activate pyABQ
    #
    # To deactivate this environment, use:
    # > deactivate pyABQ
    #
    # * for power-users using bash, you must source
    #
    

4. Instalando os Módulos no Python no Ambiente de desenvolvimento

Para instalar um módulo no ambiente de desenvolvimento é necessário, primeiro, ativar o ambiente. Para isso, no prompt do Anaconda, faça:

  1. Ative o ambiente de desenvolvimento criado (pyABQ):
    $ activate pyABQ
    
  2. Instale o módulo desejado (package_name) com o comando:
    $ conda install package_name
    

A seguir será exemplificado como instalar os módulos Matplotlib e Scipy.

4.1 Módulo SciPy

O SciPy é uma coleção de algoritmos matemáticos e funções prontas desenvolvida com uma extensão do módulo Numpy. Para instalar este módulo bastaria digitar:

$ conda install scipy

Porém, a mensagem que surge informa que o módulo numpy será atualizado.

$ conda install scipy
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment C:\Users\bismarck\AppData\Local\Con
tinuum\Anaconda2\envs\pyTeste:

The following NEW packages will be INSTALLED:

    mkl:            2017.0.3-0
    scipy:          0.19.1-np113py27_0
    vs2008_runtime: 9.00.30729.5054-0

The following packages will be UPDATED:

    numpy:          1.6.2-py27_4       --> 1.13.1-py27_0

Proceed ([y]/n)? 

Como a SIMULIA não recomenta a atualização do módulo numpy, é necessário interromper a instalação digitando "n" e buscar por uma versão compatível com o numpy 1.6.2 que seria a versão 0.11 do SciPy. Assim, para instalar o scipy 0.11, digite:

$ conda install scipy=0.11

Dessa forma surgirá a mensagem:

$ conda install scipy=0.11
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment C:\Users\bismarck\AppData\Local\Con
tinuum\Anaconda2\envs\pyTeste:

The following NEW packages will be INSTALLED:

    scipy: 0.11.0-np16py27_1

Proceed ([y]/n)?

Note que será criado o módulo scipy no ambiente de desenvolvimento pyABQ. Digite enter para prosseguir.

4.2 Módulo Matplotlib

O Matplotlib é uma biblioteca para plotar gráfico com o Python. A versão do Matplotlib compatível com o Numpy 1.6.2 é a versão 1.1. Para instalar este módulo, digite:

$ conda instal matplotlib=1.1

Surgirá a seguinte mensagem:

$ conda instal matplotlib=1.1
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment C:\Users\bismarck\AppData\Local\Con
tinuum\Anaconda2\envs\pyTeste:

The following NEW packages will be INSTALLED:

    dateutil:   2.4.1-py27_0
    matplotlib: 1.1.1-np16py27_2
    pyside:     1.1.2-py27_0
    pytz:       2017.2-py27_0
    six:        1.10.0-py27_0

Proceed ([y]/n)?

Note que serão criados os módulos dateutil, matplotlib, pyside, pytz e six. Digite enter para prosseguir.

5. Copiando os Módulos Para o Python do ABAQUS

A instalaçãod de um módulo no Python do ABAQUS é feita copiando a pasta do módulo do Python do Windows para a pasta do Python do ABAQUS. Os módulos são instalados na pasta $PATH_PYTHON$/Lib/site-packages/.

Para encontrar o módulo instalado no Anaconda, digite no prompt do Anaconda o comando:

$ conda info -e

Surgirá as informações dos ambientes criados, inclusive a sua localização:

$ conda info -e
# conda environments:
#
pyABQ                 *  C:\Users\bismarck\AppData\Local\Continuum\Anaconda2\envs\pyABQ
root                     C:\Users\bismarck\AppData\Local\Continuum\Anaconda2

Portanto, basta copiar a pasta referente ao módulo instalado da pasta: C:\Users\bismarck\AppData\Local\Continuum\Anaconda2\envs\pyABQ\Lib\site-packages para a pasta do ABAQUS: C:\SIMULIA\CAE\2017\win_b64\tools\SMApy\python2.7\Lib\site-packages

5.1 Módulo Scipy

Conforme visto na seção 4.1, a instalação do SciPy 0.11 não possui nenhuma dependência. Por isso, para a instalação, basta copiar a pasta scipy (localizado na pasta site-packages do Anaconda) para a pasta site-packages do ABAQUS.

5.2 Módulo Matplotlib

Conforme visto na seção 4.2, a instalação do Matplotlib 1.1 possui 4 dependências:

  • dateutil
  • pyside
  • pytz
  • six

Por isso, para a instalação, basta copiar as pastas dateutil, pyside, pytz, matplotlib e os arquivos six.py e six.pyc (localizados na pasta site-packages do Anaconda) para a pasta site-packages do ABAQUS.

6. Verificando a Instalação

Para verificar a instalação basta importar e utilizar os módulos no prompt do ABAQUS.