requirements.txtが変更された場合のみ、ターゲットmake install
を実行するにはどうすればよいですか?Makefileだけでrequire.txtをインストールすると、python requirements.txtが変更される
私はパッケージをアップグレードしたくない私はmake install
を行うたびに私は、偽のファイル_requirements.txt.pyc
を作成することによって、いくつかの回避策を見つけたが醜いと汚れです。
.
├── Makefile
├── README.rst
├── lambda_handler.py
└── requirements.txt
:
# 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パッケージは、次のようになります。requirements.txtは何も変更
$ make install-pip-requirements
make: Nothing to be done for 'install-pip-requirements'.
を持っていませんが、私の目標が何をしているので、それはピップ要件をもう一度インストールを拒否しますファイルを使用して、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であると仮定)。 –