1. Python¶
Conteúdo
1.1. Introdução¶
Normalmente ao se trabalhar com a linguagem Python é necessário instalar algumas dependências. Como não é viável instalar todos os pacotes no sistema operacional, pois, dependendo da versão, algumas dependências são incompatíveis entre si. Entretanto, pode-se contornar o problema utilizando um gerenciador de pacotes Python que pode ser o Conda
ou o Virtualenv
. O gerenciador Conda faz parte de dois modules do LoboC, o Anaconda
e o Miniconda
.
Nota
O LoboC tem instalado apenas o gerenciador Conda
.
1.2. Anaconda¶
O Anaconda é uma das distribuições mais utilizadas para Data Science e Machine Learning. Ele inclui mais de 300 pacotes. A utilização no LoboC é muito simples basta carregar o module e usar.
user1@service1:~> module load anaconda3
user1@service1:~> module list
Currently Loaded Modulefiles:
1) anaconda3/2020.07
user1@service1:~> conda list
# packages in environment at /sw/apps/python/anaconda3/2020.07:
#
# Name Version Build Channel
_ipyw_jlab_nb_ext_conf 0.1.0 py38_0
_libgcc_mutex 0.1 main
alabaster 0.7.12 py_0
anaconda 2020.07 py38_0
...
python 3.8.3 hcff3b4d_2
...
Pode-se perceber facilmente a mudança da versão do Python logo após o carregamento do module do Anaconda.
user1@service1:~> python
Python 3.8.3 (default, Jul 2 2020, 16:21:59)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Nota
O Anaconda também permite a criação de novos ambientes como mostrado no item Miniconda.
1.3. Miniconda¶
Nem sempre os pacotes do Anaconda são o suficiente para atender todas as necessidades. Então neste caso, recomenda-se o uso do Miniconda, pois ele carrega o mínimo de pacotes para fazer o gerenciamento e permite que o usuário crie um novo ambiente de forma otimizada.
Por exemplo, suponha que seja necessário a instalação do pytorch. Nos itens a seguir serão mostrados os procedimentos para a criação de um novo ambiente chamado pytorch
.
1.3.1. Criar um novo ambiente¶
Para criar o ambiente chamado pytorch
basta seguir o procedimento abaixo.
user1@service1:~> module load miniconda3
user1@service1:~> conda create -n pytorch
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /home/users/user1/.conda/envs/pytorch
Proceed ([y]/n)? y
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate pytorch
#
# To deactivate an active environment, use
#
# $ conda deactivate
1.3.2. Ajustar o ambiente¶
Erro
Na primeira vez que ativar o primeiro ambiente com o comando conda activate
ele dará um erro durante a inicialização.
user1@service1:~> conda activate pytorch
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
Para corrigir basta digitar o comando abaixo e depois reabra o shell corrente ou um novo shell.
user1@service1:~> conda init bash
...
modified /home/users/user1/.bashrc
==> For changes to take effect, close and re-open your current shell. <==
Repare que agora no prompt
aparece o ambiente conda. O ambiente padrão é o (base)
. Ao ativar um novo ambiente, por exemplo o pytorch
ele mudará o ambiente e o prompt
. Para desativar o ambiente basta digitar conda deactivate
.
(base) user1@service1:~> conda activate pytorch
(pytorch) user1@service1:~> conda deactivate
(base) user1@service1:~>
Pode-se optar por não ativar automaticamente o conda durante o login
. Basta mudar o parâmetro auto_activate_base
para false
, digitando o comando a seguir.
(base) user1@service1:~> conda config --set auto_activate_base false
No novo login
não aparece mais o ambiente (base)
do conda no prompt. Para ativar o ambiente pytorch
carregue o module e ative o novo ambiente.
1.3.3. Listar os ambientes¶
Para listar os ambientes disponiveis use o comando conda env list
.
user1@service1:~> module load miniconda3
user1@service1:~> conda env list
# conda environments:
#
pytorch /home/users/user1/.conda/envs/pytorch
base * /sw/apps/python/miniconda3/4.8.3
1.3.4. Instalar pacotes no ambiente¶
Para instalar os pacotes selecione o ambiente desejado e instale os pacotes. Por exemplo, instalar o pytorch para CPU.
user1@service1:~> conda activate pytorch
(pytorch) user1@service1:~>
user1@service1:~> conda install pytorch-cpu
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /sw/apps/python/miniconda3/4.8.3
added / updated specs:
- pytorch-cpu
...
Proceed ([y]/n)? y
Nota
Também é possível usar o comando pip
para fazer a instalação de pacotes dentro do ambiente virtual, mas para isso é necessário que o python
e pip
já estejam previamente instalados.
1.3.5. Remover um ambiente¶
Removendo um ambiente com todos os pacotes.
(pytorch) user1@service1:~> conda deactivate
user1@service1:~> conda remove -n pytorch --all