當你的應用依賴很多第三方包時,可以使用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 osimport 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.然...