簡體   English   中英

如何從 package 安裝模塊?

[英]How to install modules from a package?

對於安裝 python 包,有沒有辦法只將我需要的特定模塊(加上依賴項)安裝到虛擬環境中?

例如,我在我的代碼中導入以下內容

from statsmodels.tsa.arima_model import ARIMA

我只需要ARIMA (和依賴項),不需要完整的statsmodels庫。

我該如何做到這一點?

理由:

  • 我正在嘗試將 zip 打包並部署到 AWS lambda。 但是,我超過了 50MB 文件大小限制。
  • 如果有辦法從包中只安裝我需要的模塊,我可以減小文件大小。

這是一種可怕的蠻力方法。 我希望有人給你一個更好的答案!

假設您要安裝的源是公共的,它的許可允許這種使用,並且您願意處理麻煩,我想您可以:

  • 復制源
  • 刪除所需模塊未使用的任何內容
  • 將該模塊的源放在 package 中,然后從那里連接起來。 (這個答案為供應商軟件提出了一個合理的文件結構

或者,如果上述假設成立,但您不希望直接在您的軟件中供應商,您可能會:

  • 復制源代碼(例如 fork repo)
  • 刪除所需模塊未使用的任何內容,確保留下有效的 python package
  • 使用pip或您環境的本機依賴管理工具下載並安裝 package 到虛擬環境中。

請注意,這兩種方法都會使您面臨許多風險,包括但不限於:

  • 破壞模塊:如果您不小心創建了邏輯或安全漏洞,您的項目會發生什么?
  • 貨幣損失:您打算如何使您的新迷你包保持最新狀態?
  • 責任:銷售軟件的許可證是否允許這種使用? 如果您修改的軟件出現問題,您是否得到充分保護?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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