只有在requirements.txt更改時,如何才能運行目標make install
?使用Makefile安裝python requirements.txt only requirements.txt已更改
我不想每次升級包,當我做make install
我找到了一些解決方法通過創建假的文件_requirements.txt.pyc
但醜陋和髒。它會拒絕安裝PIP要求第二次因爲requirements.txt沒有變化
$ make install-pip-requirements
make: Nothing to be done for 'install-pip-requirements'.
但我的目標是要做到:
# first time,
$ make install # create virtual environment, install requirements
# second time
$ make install # detected and skipping creating virtual env,
# detect that requirements.txt have no changes
# and skipping installing again all python packages
make: Nothing to be done for 'install'.
Python包的樣子:
.
├── Makefile
├── README.rst
├── lambda_handler.py
└── requirements.txt
我使用文件,Makefile
,用於python中的一些自動化:
/opt/virtual_env:
# create virtual env if folder not exists
python -m venv /opt/virtual_env
virtual: /opt/virtual_env
# if requirements.txt is modified than execute pip install
_requirements.txt.pyc: requirements.txt
/opt/virtual_env/bin/pip install -r --upgrade requirements.txt
echo > _requirements.txt.pyc
requirements: SOME MAGIG OR SOME make flags
pip install -r requirements.txt
install-pip-requirements: _requirements.txt.pyc
install: virtual requirements
我相信
必須這樣做更好的方法
;)
你能更詳細地解釋你的python包的外觀嗎?你使用任何類型的Python項目模板?你爲什麼用'sudo'運行make?爲@ovanes更新了 – ovanes
,添加了文件夾樹,並刪除了sudo,因爲與問題無關(假設我是root)。 –