2015-06-02 97 views
2

我的Python應用程序需要web.py才能運行,但我無法弄清楚如何將它提升到bluemix。我看不到使用cf push的選項。我試圖「導入網絡」,並添加了一些額外的代碼到我的應用程序沒有成功。如何將第三方Python庫導入到Bluemix中?

當我將我的Python應用程序推送到bluemix而沒有web.py時,它自然失敗,因爲它沒有它需要運行的東西。

我確定我只是缺少導入機制。任何幫助?

回答

4

我建議你在GitHub上試試這個初學者模板。它啓用了部署到Bluemix按鈕,可自動創建安裝了Django的python運行時和postgress數據庫。 https://github.com/fe01134/djangobluemix

該項目包含requirements.txt文件以確保您擁有正確的依賴關係,還有.settings文件可從VCAP服務讀取數據庫用戶標識和密碼。它還利用清單文件中的聲明服務爲您創建數據庫服務。

這裏是一個YouTube的教程就如何部署時,它將會被自動安裝依賴於Bluemix https://www.youtube.com/watch?v=qIcHQQNUmlE&list=PLvsG7O_a5F2dAjsNp6aRACP6vkqdgsZ33&index=5部署Python應用程序

4

導致此問題的原因是當我將它推送到Bluemix時,我無法正確告訴我的Python應用程序所需的配置信息。

我最終需要做的是在我的Python應用程序的根目錄中添加一個requirements.txt文件和一個Procfile文件,以在我的Python應用程序和所需的庫/包之間繪製連接。

requirements.txt文件中,我指定了我的Python應用程序所需的庫包。這是該文件的內容:

web.py == 0.37
==的wsgiref 0.1.2

其中web.py==0.37web.py庫將要下載的版本,和wsgiref==0.1.2是我使用的web版本web.py所需的Web服務器網關接口版本。

Procfile包含以下信息:

網站:蟒蛇的.py $ PORT

其中myappname是我的Python應用程序的名稱,$PORT是端口號,我的Python應用程序用來接收請求。

我也發現$PORT是可選的,因爲當我沒有指定$PORT我的應用程序使用我的應用程序的VCAP_APP_PORT環境變量下的端口號運行。

從那裏開始只是將應用程序再次推送到Bluemix的問題,只是這次它運行良好。

0

只使用PIP凍結

pip freeze > requirements.txt 

的requirements.txt添加到您的項目