Я использую GNU make на Ubuntu bioni c, и мне нужно проверить, нужно ли мне устанавливать пакет Ubuntu python с apt-get
.
Я пробовал это в своем Makefile
чтобы зафиксировать ошибку импорта python (ModuleNotFoundError
):
MY_PYTHON := $(shell echo `which python3`)
MY_SETUPTOOLS := $(shell $(MY_PYTHON) -c 'import setuptools' )
ifneq ($(findstring /python3,$(MY_PYTHON)),/python3)
$(info 1. Installing python)
TMP := $(shell apt-get -y install python python3)
MY_PYTHON := $(shell echo `which python3`)
endif
ifeq ($(findstring ModuleNotFoundError,$(MY_SETUPTOOLS)),ModuleNotFoundError)
$(info 1. Installing setuptools)
TMP := $(shell apt-get -y install python-setuptools python3-setuptools)
endif
.PHONY: test
test:
cd $(THIS_DIR); cd tests; py.test -s test_mytools.py
make clean
Я вижу приведенную ниже ошибку, выводимую на терминал при запуске sudo make test
; но он не запускает logi c для установки python3-setuptools
с apt-get
:
$ sudo make test
make[2]: Entering directory '/home/mpennington/foo'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'setuptools'
Как я могу это исправить, чтобы make
установил python3-setuptools
?