如何只有当 requirements.txt 文件被更改时才运行目标 make install?
我不想每次执行 make install 时都更新软件包。
我找到了一些解决方法,比如创建一个假文件 _requirements.txt.pyc,但这是丑陋和不干净的。它会拒绝第二次安装 pip 要求,因为 requirements.txt 没有更改。
但我的目标是做:
Python包的样子如下:
我正在使用文件
我相信一定有更好的方法来做这件事;)
我不想每次执行 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
我相信一定有更好的方法来做这件事;)
sudo
运行make命令? - ovanes