SAE 安裝未包含的第三方依賴包

2021-09-06 21:41:51 字數 1155 閱讀 4888

當你的應用依賴很多第三方包時,可以使用virtualenv來管理並匯出這些依賴包,流程如下:

首先,建立乙個全新的python虛擬環境目錄env,啟動虛擬環境。

$ virtualenv --no-site-packages env

$ source env/bin/activate

(env)$

可以看到命令列提示符的前面多了乙個(env)的字首,現在我們已經在乙個全新的虛擬環境中了。

使用pip安裝應用所依賴的包並匯出依賴關係到requirements.txt。

(env)$ pip install flask flask-cache flask-sqlalchemy

(env)$ pip freeze > requirements.txt

編輯requirements.txt檔案,刪除一些sae內建的模組,eg. flask, jinja2, wtforms。

使用dev_server/bundle_local.py工具,將所有requirements.txt中列出的包匯出到本地目錄virtualenv.bundle目錄中。如果檔案比較多的話,推薦壓縮後再上傳。

(env)$ bundle_local.py -r requirements.txt

(env)$ cd virtualenv.bundle/

(env)$ zip -r ../virtualenv.bundle.zip .

將virutalenv.bundle目錄或者virtualenv.bundle.zip拷貝到應用的目錄下。

修改index.wsgi檔案,在匯入其它模組之前,將virtualenv.bundle目錄或者virtualenv.bundle.zip新增到module的搜尋路徑中,示例**如下:

import os

import sys

到此,所有的依賴包已經匯出並加入到應用的目錄裡了。

更多virtualenv的使用可以參考其官方文件。 

註解請刪除requirements.txt中的wsgiref==0.1.2這個依賴關係,否則可能導致 bundle_local.py匯出依賴包失敗。

有些包是not-zip-safe的,可能不工作,有待驗證。 含有c擴充套件的package 不能工作。

Spark SQL 新增第三方依賴包

最近在使用spark sql 執行hive語句時碰到異常資訊如下 開始以為時hive環境有問題,把sql語句拿到hive環境單獨跑沒有問題,排除掉這項。若有問題,參考解決方案。使用spark submit jar 提交掉時候已經引入了json serde 1.3 jar with dependenc...

python安裝第三方包

初開始進行機器學習,對python第三方包進行安裝,已經第二次安裝了,還是不太順利,為了記住過程,寫下這篇文章。1 whl檔案 cmd輸入命令pip install packagename 例如安裝numpy包,輸入命令pip install numpy 其餘類似。2 壓縮檔案 tar 例如auto...

python 安裝第三方包

python環境是anaconda3安裝的,由於專案需要用到git的第三方包,但是在conda自帶的環境中沒有。例如使用jieba分詞庫。最後通過 import jieba 來引用 第一種方法 自動安裝 第一種方法又可以分成三種方法 1.直接conda介面自動安裝 第二種方法 半自動 git 2.然...