I am trying to run a pipeline on python project. I am not able to run the pytest task nor the flask8.
I have the following scripts:
- python -V
- $env:Path += ";C:\Users\myuser\AppData\Roaming\Python\Python37\Scripts"
- pipenv shell
- pipenv install --dev
- pipenv graph
- pipenv shell
giving the following output:
$ python -V
Python 3.7.6
$ pipenv shell
Launching subshell in virtual environment
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:\project> $ pipenv install --dev
Installing dependencies from Pipfile.lock (aac0cc)
To activate this projects virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
$ pipenv graph
----
pytest==4.6.9
----
- setuptools [required: Any, installed: 46.1.3]
$ pipenv shell
Launching subshell in virtual environment
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
$ set PYTHONPATH=./src:./
$ py.test
py.test : The term 'py.test' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
At C:\Users\myuser\AppData\Local\Temp\build_script515891919\script.ps1:221 char:1
+ py.test
+ ~~~~~~~
+ CategoryInfo : ObjectNotFound: (py.test:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Uploading artifacts for failed job
00:00
ERROR: Job failed: exit status 1
Why can't I run the py.test?
I have tried the following command as well
python -m py.test
Use
$ pipenv run pytest ...
when you are not in an interactive shell (e.g. when invoking pytest
on a CI server). This will run the command in pipenv
's virtual environment. The same applies to poetry
:
$ poetry run pytest ...
invokes pytest
in the virtual environment managed by poetry
.