跳轉至

腳本開發 / 安裝第三方包

DataFlux Func 安裝完畢後,由於 DataFlux Func 本身就需要第三方包,因此這些包可以在腳本中直接使用,無需另外安裝。

具體預裝的第三方包列表,可以在「管理 / PIP 工具」中查看,其中「內置」列標記為 的即為預裝的第三方包。

用户如果需要額外安裝第三方包,也可以在「管理 / PIP 工具」中進行安裝。

1. 公網安裝 Python 包

如果需要額外第三方包的 DataFlux Func 可以直接訪問公網,那麼可以直接使用系統自帶的「PIP 工具」進行安裝。

1.1 開啓「PIP 工具」

在「管理 / 實驗性功能」中開啓「PIP 工具」。

enable-pip-tool.png

1.2 安裝第三方包

在「PIP 工具」中,可以選擇 Pypi 鏡像,輸入包名後,即可安裝。

如果需要指定版本號,可以使用 package==1.2.3 的格式來安裝。

install-package.png

選擇鏡像

如果您的服務器由於一些原因,無法直接訪問 PYPI,此時可以選擇不同的 PIP 鏡像。

2. 無公網安裝 Python 包

如果 DataFlux Func 所在服務器因各種原因,無法訪問外網,那麼通常的 PIP 方式無法安裝第三方包。

此時,需要另外一個相同架構,且可以訪問公網的 DataFlux Func,用來安裝第三方包。安裝完成後,將整個 extra-python-packages 目錄拷貝至無法訪問公網的 DataFlux Func 中即可。

下文中,可以訪問公網的 DataFlux Func 簡稱「有網 Func」;無法訪問公網的 DataFlux Func 簡稱「無網 Func」

2.1 有網 Func 安裝第三方包

此步驟請參考上文「可以訪問公網時,安裝 Pypi 中的包」

2.2 開啓「文件管理器模塊」

在「管理 / 實驗性功能」中開啓「文件管理器模塊」。

enable-file-manager.png

2.3 從有網 Func 下載第三方包目錄

找到 extra-python-packages 目錄(所有額外安裝的 Python 包內容都會存放於此),選擇「更多 / 壓縮」,並下載 zip 文件。

zip-pkg.png

download-pkg.png

2.4 向無網 Func 上傳第三方包目錄

前往「無網 Func」,刪除原先的第三方包存放目錄,並上傳上一步中下載的 zip 文件,並解壓。

delete-pkg.png

upload-pkg.png

unzip-pkg.png

unzip-pkg-done.png

2.5 重啓無網 Func

此步驟請參考 部署和維護 / 升級和重啓

注意事項

DataFlux Func 運行在 Docker 中,Python 的運行環境也依賴容器中的環境。

因此,請勿將本機,或其他非 DataFlux Func 容器內的 Python 安裝後的內容拷貝至 DataFlux Func 中。否則往往會產生奇怪的問題。

此外:「有網 Func」和「無網 Func」必須保證為相同的硬件架構,如均為 x86_64aarch64

3. 為什麼不建議通過上傳 Wheel 包的方式直接安裝 Python 包?

向服務器上傳 Wheel 包後,直接通過 PIP 安裝的方式,理論上是可行的,但實際絕大多數情況下並不能成功。

原因在於所上傳的 Wheel 包本身可能還依賴其他包,單純上傳代碼中直接使用的 Wheel 包無法滿足依賴關係。越是功能強大的包,一般來説所依賴的其他包更多,依賴層級更深。最終可能讓操作者陷入依賴地獄。

因此,除非所需安裝的包不依賴其他任何包,否則一般不建議使用上傳 Wheel 包的方式安裝 Python 第三方包。