refined-addition-53644
12/07/2021, 6:00 PMpants
can't figure out dependencies generated by poetry_requirements()
using pyproject.toml
.
I have listed all the relevant targets which have been generated by pants. These are just regular python packages like pandas
and numpy
.
Not sure what I am doing wrong. There are BUILD files everywherehappy-kitchen-89482
12/07/2021, 6:55 PMrefined-addition-53644
12/07/2021, 8:35 PMhappy-kitchen-89482
12/07/2021, 9:19 PMrequirements.txt
or pyproject.toml
that lists the universe of allowed 3rdparty deps, and then Pants picks just the ones you actually need in any given situation.hundreds-father-404
12/07/2021, 9:23 PMrefined-addition-53644
12/07/2021, 10:10 PM23:00:23.02 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/test_api.py:tests failed (exit code 2).
==================================== ERRORS ====================================
_________________________ ERROR collecting test_api.py _________________________
ImportError while importing test module '/private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionC6rjpx/src/pyfleet-vehicle-spec/test_api.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Users/developer/.pyenv/versions/3.7.9/lib/python3.7/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
src/pyfleet-vehicle-spec/test_api.py:5: in <module>
import pandas as pd
E ModuleNotFoundError: No module named 'pandas'
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionC6rjpx/src.pyfleet-vehicle-spec.test_api.py.tests.xml -
=========================== short test summary info ============================
ERROR src/pyfleet-vehicle-spec/test_api.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
1 error in 0.12s
š src/pyfleet-vehicle-spec/test_api.py:tests failed.
The BUILD file inside src/pyfleet-vehicle-spec/
poetry_requirements()
python_tests(
name="tests",
)
pyproject.toml
for each project inside src
.happy-kitchen-89482
12/07/2021, 10:28 PMrefined-addition-53644
12/08/2021, 9:20 AM./pants test src/pyfleet-vehicle-spec:tests
23:08:05.88 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/test_api.py:tests failed (exit code 2).
==================================== ERRORS ====================================
_________________________ ERROR collecting test_api.py _________________________
ImportError while importing test module '/private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionf1PMNO/src/pyfleet-vehicle-spec/test_api.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Users/developer/.pyenv/versions/3.7.9/lib/python3.7/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
src/pyfleet-vehicle-spec/test_api.py:5: in <module>
import pandas as pd
E ModuleNotFoundError: No module named 'pandas'
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionf1PMNO/src.pyfleet-vehicle-spec.test_api.py.tests.xml -
=========================== short test summary info ============================
ERROR src/pyfleet-vehicle-spec/test_api.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
1 error in 0.12s
š src/pyfleet-vehicle-spec/test_api.py:tests failed.
happy-kitchen-89482
12/08/2021, 9:40 PM./pants dependencies src/pyfleet-vehicle-spec:tests
refined-addition-53644
12/09/2021, 12:29 PMsrc/pyfleet-vehicle-spec/test_api.py
which was actually not a test file but just some script starting with test
. I have removed the test_api.py
Now all tests related files live inside the tests
directory inside src/pyfleet-vehicle-spec
.
Now it can't figure out any dependencies when I run . It's just blank screen.
./pants dependencies src/pyfleet-vehicle-spec:tests
Then when I run ./pants test src/pyfleet-vehicle-spec:tests
, this is what I get
./pants test src/pyfleet-vehicle-spec:tests
13:17:25.61 [WARN] No applicable files or targets matched. The `test` goal works with these target types:
* python_test
However, you only specified targets with these target types:
* python_tests
Please specify relevant files and/or targets. Run `./pants filter --target-type=python_test ::` to find all applicable targets in your project, or run `./pants filter --target-type=python_test :: | xargs ./pants filedeps` to find all applicable files.
This tests
target is defined in a BUILD file under src/pyfleet-vehicle-spec
which looks like this
poetry_requirements()
python_tests(
name="tests",
)
Not sure how to define dependencies for tests
as target now.
It's this issue which I keep running into when we put stuff inside some directory which has further nested directories which don't depend on each other.
All these directories have a BUILD file generated by ./pants tailor
This is the layout of tests
directory
tests
āāā __init__.py
āāā app/
āāā authentication.py
āāā BUILD
āāā resources/
āāā utils/
sources=["tests/**/test_*.py"]
to python_tests
, these are the dependencies
./pants dependencies src/pyfleet-vehicle-spec:tests
src/pyfleet-vehicle-spec/tests/app/routes/test_vehicle_specs.py:../../../tests
src/pyfleet-vehicle-spec/tests/test_panion_ds_vehicle_specs.py:../tests
src/pyfleet-vehicle-spec/tests/utils/test_nlp.py:../../tests
src/pyfleet-vehicle-spec/tests/utils/test_regex.py:../../tests
But I still get the pandas
not found error
/pants test src/pyfleet-vehicle-spec:tests
13:55:26.15 [INFO] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/test_panion_ds_vehicle_specs.py:../tests succeeded.
13:55:26.86 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/__init__.py:../tests failed (exit code 5).
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionM2FBOj/src.pyfleet-vehicle-spec.tests.__init__.py@tests.xml -
no tests ran in 0.02s
13:55:26.86 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/app/routes/__init__.py:../../../tests failed (exit code 5).
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionEMEotU/src.pyfleet-vehicle-spec.tests.app.routes.__init__.py@@@tests.xml -
no tests ran in 0.02s
13:55:26.95 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/app/__init__.py:../../tests failed (exit code 5).
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-execution8FTEDZ/src.pyfleet-vehicle-spec.tests.app.__init__.py@@tests.xml -
no tests ran in 0.03s
13:55:27.02 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/utils/__init__.py:../../tests failed (exit code 5).
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionyb3PqD/src.pyfleet-vehicle-spec.tests.utils.__init__.py@@tests.xml -
no tests ran in 0.03s
13:55:27.43 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/utils/test_regex.py:../../tests failed (exit code 2).
==================================== ERRORS ====================================
__________________ ERROR collecting tests/utils/test_regex.py __________________
ImportError while importing test module '/private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionBhV2TF/src/pyfleet-vehicle-spec/tests/utils/test_regex.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Users/developer/.pyenv/versions/3.7.9/lib/python3.7/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
src/pyfleet-vehicle-spec/tests/utils/test_regex.py:1: in <module>
import numpy as np
E ModuleNotFoundError: No module named 'numpy'
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionBhV2TF/src.pyfleet-vehicle-spec.tests.utils.test_regex.py@@tests.xml -
=========================== short test summary info ============================
ERROR src/pyfleet-vehicle-spec/tests/utils/test_regex.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
1 error in 0.30s
13:55:27.62 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/utils/test_nlp.py:../../tests failed (exit code 2).
==================================== ERRORS ====================================
___________________ ERROR collecting tests/utils/test_nlp.py ___________________
ImportError while importing test module '/private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executiondq4iJ5/src/pyfleet-vehicle-spec/tests/utils/test_nlp.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Users/developer/.pyenv/versions/3.7.9/lib/python3.7/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
src/pyfleet-vehicle-spec/tests/utils/test_nlp.py:4: in <module>
import pandas as pd
(tox-env) ā pyfleet git:(pyfleet_vehicle_spec) ā ./pants test src/pyfleet-vehicle-spec:tests
13:59:56.09 [INFO] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/test_panion_ds_vehicle_specs.py:../tests succeeded.
13:59:56.85 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/utils/test_regex.py:../../tests failed (exit code 2).
==================================== ERRORS ====================================
__________________ ERROR collecting tests/utils/test_regex.py __________________
ImportError while importing test module '/private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionSv4gKd/src/pyfleet-vehicle-spec/tests/utils/test_regex.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Users/developer/.pyenv/versions/3.7.9/lib/python3.7/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
src/pyfleet-vehicle-spec/tests/utils/test_regex.py:1: in <module>
import numpy as np
E ModuleNotFoundError: No module named 'numpy'
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-executionSv4gKd/src.pyfleet-vehicle-spec.tests.utils.test_regex.py@@tests.xml -
=========================== short test summary info ============================
ERROR src/pyfleet-vehicle-spec/tests/utils/test_regex.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
1 error in 0.13s
13:59:57.19 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/utils/test_nlp.py:../../tests failed (exit code 2).
==================================== ERRORS ====================================
___________________ ERROR collecting tests/utils/test_nlp.py ___________________
ImportError while importing test module '/private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-execution1qM560/src/pyfleet-vehicle-spec/tests/utils/test_nlp.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Users/developer/.pyenv/versions/3.7.9/lib/python3.7/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
src/pyfleet-vehicle-spec/tests/utils/test_nlp.py:4: in <module>
import pandas as pd
E ModuleNotFoundError: No module named 'pandas'
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-execution1qM560/src.pyfleet-vehicle-spec.tests.utils.test_nlp.py@@tests.xml -
=========================== short test summary info ============================
ERROR src/pyfleet-vehicle-spec/tests/utils/test_nlp.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
1 error in 0.37s
13:59:57.85 [ERROR] Completed: Run Pytest - src/pyfleet-vehicle-spec/tests/app/routes/test_vehicle_specs.py:../../../tests failed (exit code 2).
==================================== ERRORS ====================================
___________ ERROR collecting tests/app/routes/test_vehicle_specs.py ____________
ImportError while importing test module '/private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-execution3rSptN/src/pyfleet-vehicle-spec/tests/app/routes/test_vehicle_specs.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/Users/developer/.pyenv/versions/3.7.9/lib/python3.7/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
src/pyfleet-vehicle-spec/tests/app/routes/test_vehicle_specs.py:5: in <module>
from pyfleet_vehicle_spec.main import authenticate, main
src/pyfleet-vehicle-spec/pyfleet_vehicle_spec/main.py:11: in <module>
from pyfleet_vehicle_spec.app.routes.api import router as api_router
src/pyfleet-vehicle-spec/pyfleet_vehicle_spec/app/routes/api.py:2: in <module>
from pyfleet_vehicle_spec.app.routes import configuration, healthcheck, vehicle_specs
src/pyfleet-vehicle-spec/pyfleet_vehicle_spec/app/routes/configuration.py:3: in <module>
import pandas as pd
E ModuleNotFoundError: No module named 'pandas'
- generated xml file: /private/var/folders/9w/9_4n35r57d707zkrk86rvh9w0000gn/T/process-execution3rSptN/src.pyfleet-vehicle-spec.tests.app.routes.test_vehicle_specs.py@@@tests.xml -
=========================== short test summary info ============================
ERROR src/pyfleet-vehicle-spec/tests/app/routes/test_vehicle_specs.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
1 error in 0.78s
ā src/pyfleet-vehicle-spec/tests/test_panion_ds_vehicle_specs.py:../tests succeeded.
š src/pyfleet-vehicle-spec/tests/app/routes/test_vehicle_specs.py:../../../tests failed.
š src/pyfleet-vehicle-spec/tests/utils/test_nlp.py:../../tests failed.
š src/pyfleet-vehicle-spec/tests/utils/test_regex.py:../../tests failed.
happy-kitchen-89482
12/09/2021, 6:24 PMpython_tests()
target are just the tests in the same dir, so you need to set sources=
explicitly to cover subdirs, which you've discovered.refined-addition-53644
12/09/2021, 6:27 PMhappy-kitchen-89482
12/09/2021, 8:31 PMrefined-addition-53644
12/09/2021, 9:17 PMhappy-kitchen-89482
12/09/2021, 11:08 PMrefined-addition-53644
12/09/2021, 11:38 PMhappy-kitchen-89482
12/10/2021, 1:27 AM