Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não consigo executar o Pytest

Como eu vi que tiveram várias dfiiculdades acerca do Pytest, vou deixar aqui a minha também e como consegui arrumar.

Eu também não estava conseguindo executar o Pytest nem pelo terminal e não aparecia o botão 'play' para executar ao lado da função. Esse último ponto, lendo aqui no fórum, eu consegui arrumar nas configurações do Pycharm.

Depois de realizar a configuração, eu cliquei em 'play' e recebi este erro:

ModuleNotFoundError: No module named ‘pytest’
import pytest

Eu estava certo de que havia instalado o pytest, inclusive reinstalei, desinstalei e instalei do zero e isso não resolve. A questão é que dependendo de como está configurada a instalação do Python no seu sistema operacional ou no seu ambiente virtual, o projeto não vai conseguir executar mesmo. No meu caso não estou usando ambiente virutal e no S.O. os comandos python e pip são referentes a uma versão antiga e na verdade eu estou usando a versão 3. Na hora do curso a gente acaba esquecendo disso e copia o que o professor fez ou copia o comando que está na documentação mesmo.

O que fiz foi desisntalar:

pip uninstall pytest

E instalar da forma correta para o meu ambiente:

pip3 install pytest

Esse artigo me ajudou a compreender e lembrar dessa questão: https://medium.com/@dirk.avery/pytest-modulenotfounderror-no-module-named-requests-a770e6926ac5

Para executar pelo terminal no diretório do projeto com o comando pytest, recebia esse erro:

zsh: command not found: pytest

Para resolver, encontrei a resposta aqui (https://stackoverflow.com/questions/35998992/py-test-command-not-found-but-library-is-installed):

python3 -m pytest

Na verdade, essa eu não entendi a lógica uma vez que penso que o simples comando pytest deveria ter funcionado enquanto o pacote estava instalado na versão antiga do python. Se alguém souber a explicação, beleza. Se não, fica esse caminho das pedras caso seja a dificuldade de alguém.

4 respostas

Olá Gabriel.

O problema deve ser que a pasta scripts do Python não foi adicionado na variável de ambiente PATH do windows.

Recomendo que siga a parte 2 (2º passo: adicionar os caminhos do interpretador e dos scripts do python nas variáveis de ambiente) desse tutorial, focando na parte de adicionar o caminho dos Scripts.

Se encontrar alguma dificuldade com esse tutorial me avise e crio um passo a passo aqui para você.

Bons Estudos.

Entendi o tutorial e fui atrás de como fazer isso para o Linux da maneira correta. Por sorte o PyCharm facilita esse processo em suas configurações (https://www.jetbrains.com/help/pycharm/configuring-local-python-interpreters.html).

Alterei o interpretador de Python2.7 em /usr/bin/python para Python3.6 em /usr/bin/python3.6, mas nem assim foi possível executar do jeito do curso.

O mesmo erro:

zsh: command not found: pytest
solução!

Olá Gabriel.

Consegui dois caminhos para você tentar.

O primeiro é colocar manualmente o caminho de onde está o pytest, na variável PATH do seu linux.

1 - Verifique onde está o pytest usando o comando "python -m pip show pytest"

python -m pip show pytest
Location: /home/igornascimentoflipe/.local/lib/python3.8/site-packages

2 - depois inclua esse caminho no PATH, só que no lugar de lib você coloca bin e não coloca o resto.

export PATH="/home/igornascimentoflipe/.local/bin":$PATH

3 - testar o comando pytest.

A segunda opção é criar um alias:

1) Abrir o arquivo .zshrc

1.1) Caso utilize o vscode, basta abrir o terminal e digitar: code ~/.zshrc

1.2) Caso não utilize, basta ir na pasta raiz do linux, encontrar esse arquivo e abrir no editor de texto. É um arquivo oculto, então tem de habilitar para visualizar os arquivos ocultos(Ctrl + H)

2) Adicionar o alias no fim do arquivo .zshrc

2.1) alias pytest="python3 -m pytest"

3) Compilar o arquivo zshrc

3.1) source ~/.zshrc

4) Tentar novamente executar apenas "pytest"

Fico no aguardo do resultado.

Bons Estudos.

Funcionou, muito obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software