簡體   English   中英

減少需求.txt

[英]Reducing requirements.txt

有沒有辦法減少我的requirements.txt 我一年前改用Python,那時我還沒有完全理解事情是如何工作的。 所以當我需要創建 requirements.txt 時,我只是做了一個 pip freeze 並復制通過了所有的要求。 今天我知道我不需要它們都只是頂級的導入其他要求有沒有辦法實現它?

有幾個選項。

pip工具

如果您在項目中使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM