SAE導入第三方模塊詳細說明
SAE自帶的模塊很少,還好SAE支持自己導入第三方模塊。導入第三方模塊的方法如下:
安裝sae本地環境
直接pip sae-python-dev或easy_install sae-python-dev即可。
安裝第三方包
在需要使用第三方庫的當前版本目錄下使用如下命令將第三方庫安裝到本地:
saecloud install packagename
如果應用的依賴關係比較多,也可以這些依賴關係寫到依賴文件中,例如:
Framework==0.9.4
Library>=0.2
假設上面的依賴文件的文件名爲requirements.txt,你可以執行下面的命令安裝所有的依賴包。
saecloud install -r requirements.txt
該命令會安裝依賴包到應用目錄下名爲 site-packages 的目錄裏。如果文件比較多的話,推薦壓縮site-packages目錄。
cd site-packages/
zip -r ../site-packages.zip .
此時這個第三方庫已經安裝到(或者說下載到)本目錄中了。
修改index.wsgi文件
修改index.wsgi文件,在導入其它模塊之前,將 site-packages 目錄或者 site-packages.zip 添加到module的搜索路徑中。注意順序不能錯。(前四行爲需要新加的語句)
import os
import sys
root = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(root, 'site-packages'))
import sae
from myapp import app
application = sae.create_wsgi_app(app)
同步當前修改到sae服務器
最後將當前目錄下的文件全部同步到服務器即可。
svn add site-packages
svn ci -m “something"
此時該第三方模塊即可在服務器應用上使用
No files/directories in /private/tmp/pip…… pip-egg-info解決辦法
有時候在使用saecloud安裝庫時可能會報這種錯誤。saecloud其實是調用本地pip安裝庫。這個錯誤表示沒找到這個包。檢查包名稱是否拼寫正確或語句是否寫正確。