[英]Reducing requirements.txt
有沒有辦法減少我的requirements.txt 我一年前改用Python,那時我還沒有完全理解事情是如何工作的。 所以當我需要創建 requirements.txt 時,我只是做了一個 pip freeze 並復制通過了所有的要求。 今天我知道我不需要它們都只是頂級的導入其他要求有沒有辦法實現它?
有幾個選項。
如果您在項目中使用pip
,您可以欣賞pip-tools 。 首先將您的需求手動放入requirements.in
,然后使用pip-compile
您可以生成包含所有依賴項的最終requirements.txt
。 假設您的項目的依賴項是 Django 和 Ansible。 您將它們放入requirements.in
如下所示:
# requirements.in
django
ansible
然后運行pip-compile
來獲取整個依賴圖:
$ pip-compile requirements.in
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile requirements.in
#
ansible==2.9.12 # via -r requirements.in
cffi==1.14.2 # via cryptography
cryptography==3.1 # via ansible
django==1.11.29 # via -r requirements.in
jinja2==2.11.2 # via ansible
markupsafe==1.1.1 # via jinja2
pycparser==2.20 # via cffi
pytz==2020.1 # via django
pyyaml==5.3.1 # via ansible
six==1.15.0 # via cryptography
如果您正在使用Poetry ,那么您可以通過Poetry poetry add
繼續添加依賴poetry add
,並在需要時最終導出它們。 否則,您可以跳過導出步驟,因為詩歌可以生成用於通過poetry build
分發的包:
$ poetry add django
Using version ^3.1 for django
Updating dependencies
Resolving dependencies... (1.4s)
Writing lock file
Package operations: 3 installs, 0 updates, 0 removals
- Installing asgiref (3.2.10)
- Installing sqlparse (0.3.1)
- Installing django (3.1)
您可以在pyproject.toml
找到所有依賴pyproject.toml
。 如果您需要將其導出到requirements.txt
:
$ poetry export -f requirements.txt -o requirements.txt --without-hashes
我正在使用--without-hashes
,因為 AppEngine 有問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.