Free Trial

Base de conhecimento

Como instalar pacotes Python com Alteryx.installPackages()

marcusblackhill
12 - Quasar
12 - Quasar
Created

*Este artigo é uma versão traduzida do artigo que você pode encontrar no link: How To: Use Alteryx.installPackages() in Python tool pelo autor @PaulN 

 

Como instalar pacotes Python com Alteryx.installPackages()

 

A instalação de pacotes python é uma tarefa importante que pode fazer toda diferença em alguns processos. Iremos ver neste artigo diversas funcionalidades existentes neste no comando Alteryx.installPackages(), comumente usado para a instalação pacotes

 

Vale lembrar que por o Alteryx Designer utilizar um ambiente miniConda, outro método para instalação de pacotes não coberto por este artigo é o !pip . 

Exemplo:

!pip install pandas

 

Pré-requisitos

 

  • Alteryx Designer
    • Version 2018.3+

Algumas informações extras antes de começarmos

 

Primeiramente, pode parecer um pouco confuso mas você pode usar qualquer um dos seguintes comandos e obterá os mesmos resultados:

  • Alteryx.installPackage()
  • Alteryx.installPackages()
  • Package.installPackages() 

Por padrão, os pacotes são instalados nos seguintes endereços:

 

Até 2019.2

  • %ALTERYX%\bin\Miniconda3\PythonTool_venv\Lib\site-packages

2019.3.1 à 2021.1.3

  • %ALTERYX%\bin\Miniconda3\envs\JupyterTool_vEnv\Lib\site-packages 

2021.1.4+

  • %ALTERYX%\bin\Miniconda3\envs\DesignerBaseTools_vEnv\Lib\site-packages


Exemplo:

C:\Program Files\Alteryx\bin\Miniconda3\PythonTool_venv

 

Pode ser necessário iniciar o Alteryx Designer com privilégios de administrador se a pasta não tiver permissão de escrita habilitada para usuários comuns.

 

Normalmente, a maioria dos usuários utiliza a função installPackage() em seu formato mais simples, com apenas um argumento, porém, está função três parâmetros que podem ser utilizados como vemos abaixo:

 

Parâmetro Comentário
package Uma string ou uma lista de strings com o nome dos pacotes
install_type Opcional -> valor padrão: "install". Para usar o comando Pip
debug

Opcional -> valor padrão: False. Adiciona alguns detalhes ao output

 

Padrão da função

Alteryx.installPackages(package, install_type=None, debug=None, **kwargs)

 

Em essência, a função Alteryx.installPackages() é um encapsulador do comando pip preparador para as aplicações Alteryx. Sendo assim, podemos entender que a função abaixo:

Alteryx.installPackage(package="logger")

é interpretada como:

  • Até a versão 2019.2:
%ALTERYXDIR%\bin\miniconda3\pythontool_venv\scripts\python.exe -m pip install logger
  • Da versão 2019.3 em diante:
%ALTERYXDIR%\bin\miniconda3\envs\jupytertool_venv\python.exe -m pip install logger

 

Procedimento: Instalação Padrão

 

Neste caso, apenas o pacote é especificado.

 

Exemplos:

# Apenas um pacote Alteryx.installPackage("logger")
Alteryx.installPackage(package="logger")

# Para instalação de múltiplos pacotes
Alteryx.installPackage(["logger","wordcloud"])
Alteryx.installPackage(package=["logger","wordcloud"])

# Instalar uma versão específica
Alteryx.installPackage("logger==1.3")

# Desabilitando cache para se assegurar que o download do pacote será realizado antes 
da instalação Alteryx.installPackage(package="logger",install_type="install --no-cache-dir")

 

Procedimento: Instalação de um Github

 

O Git precisa estar instalado na máquina para utilizar este método. Ele pode ser obtido no link https://git-scm.com/downloads.

Neste caso, a URL com prefixo git+ deve ser especificada ao invés do nome do pacote.

 

Exemplo:

Alteryx.installPackages(package="git+https://github.com/alteryx/promote-python.git")

 

Procedimento: Instalar pacote existente na pasta de usuário local

 

Este método usa o parâmetro --user para especificar o pacote que deverá ser instalado na pasta de usuário local.

 

Exemplo:

Alteryx.installPackages(package="logger", install_type="install --user")

Para poder utilizar este método, o pacote precisa ser adicionado ao diretório padrão: %APPDATA%\Python\Python36\site-packages. 

 

Exemplo:

import os,sys 
sys.path.insert(1,os.path.join(os.environ['APPDATA'],"Python",f"Python{sys.version_info.major}{sys.version_info.minor}","site-packages"))  
import logger

 

Procedimento: Instalar pacote existente em outra pasta local

 

Esse método utiliza o parâmetro --target para especificar o diretório de destino e cria-lo, caso necessário.

 

Exemplo:

Alteryx.installPackages(package="logger", install_type="install --target=C:\\ProgramData\\PythonLibs")

Para poder utilizar o pacote instalado por este método, ele precisa ser importado utilizando a função Alteryx.importPythonModule(%MODULE_PATH%) para designers em versões superiores a 2018.4.
 

Exemplo:

logger = Alteryx.importPythonModule("C:\\ProgramData\\PythonLibs\\logger") logger.logging.info("Logger instalado com sucesso.")

 

Procedimento: Instalar de um diretório ou de um arquivo tar.gz

 

O pacote deve estar em um diretório acessível pela aplicação na máquina (como, por exemplo, a pasta C:\Users\\Documents\Personal\PythonPckg).


Exemplo:

Alteryx.installPackages(package="file:C:\others\downloads lptoolkit-dictionary-1.0.4.tar.gz")

 

 Procedimento: Instalar habilitando proxy

 

Este método permitirá adicionar um proxy assim como suas credencias como parte dos argumentos. As credencias são opcionais, variando de caso a caso de acordo com o ambiente.

Exemplo:

#Sem usuário e senha
Alteryx.installPackages(package="",install_type="install --proxy proxy.server:port")   

#Com usuário e senha 
Alteryx.installPackages(package="",install_type="install --proxy [user:passwd@]proxy.server:port") 

 

 Procedimento: Instalar de um arquivo Wheels

 

Neste método utilizamos os argumentos --no-index e --find-links com repositório local para garantir que o download do pacote não ocorrerá.

 

Exemplo:

C:\ProgramData\PythonWheels -> contém os arquivos abaixo:

numpy-1.16.3-cp36-cp36m-win_amd64.whl
Pillow-6.0.0-cp36-cp36m-win_amd64.whl
wordcloud-1.5.0-cp36-cp36m-win_amd64.whl

 

Alteryx.installPackages(package="wordcloud", install_type="install --no-index --find-links=C:\\ProgramData\\PythonWheels")

 

Procedimento: Desinstalar pacotes

 

É necessário especificar "uninstall" no parâmetro install_type. Desta forma, é permitido a desinstalação de apenas um pacote ou de múltiplos pacotes ao passar uma lista de pacotes.

 

Exemplo:

# Para apenas um pacote
Alteryx.installPackages(package="wordcloud", install_type="uninstall")  

# Para diversos pacotes 
Alteryx.installPackages(package=["wordcloud","pillow"], install_type="uninstall")

 

Procedimento: Download de arquivos Wheels

 

Neste caso, deve ser passado o comando "download" no parâmetro install_type. Também será necessário especificar a pasta de destino com o comando "--dest".

 

Exemplo:

Alteryx.installPackages(package="wordcloud",install_type="download --dest=C:\\ProgramData\\PythonWheels")

 

Procedimento: Listar os pacotes instalados no ambiente

 

Os seguintes comandos irão lhe dar uma forma simples de listar o nome e a versão dos pacotes Python instalados no ambiente.

 

from ayx import Alteryx
import re
from pandas import DataFrame
import io
from contextlib import redirect_stdout

with io.StringIO() as current_output, redirect_stdout(current_output):
    
    Alteryx.installPackages(package='',install_type='freeze')
 
    packages = ( (item for item in out_row.split("=") if item) 
    for out_row in re.split(string=current_output.getvalue(),pattern=r"\r*\n") if out_row)
    
    output_df = DataFrame(packages ,columns=["package","version"])

Alteryx.write(output_df,1)

 Exemplo do resultado:

 

python_packages.png

Outros links úteis

 

 

 

Contribudores
Rótulos