em 01-11-2023 11:27 AM
*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
Primeiramente, pode parecer um pouco confuso mas você pode usar qualquer um dos seguintes comandos e obterá os mesmos resultados:
Por padrão, os pacotes são instalados nos seguintes endereços:
Até 2019.2
2019.3.1 à 2021.1.3
2021.1.4+
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:
%ALTERYXDIR%\bin\miniconda3\pythontool_venv\scripts\python.exe -m pip install logger
%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:
Outros links úteis