2012-06-15 56 views
0

定製的shell腳本我使用的Heroku和Git來驅動一個Django應用程序。該網站的部分功能允許用戶上傳.mdbs(Microsoft Access數據庫),我們然後解析使用調用mdbtools(http://mdbtools.sourceforge.net/)的shell腳本。 shell腳本在本地運行良好,但不在heroku站點上。我認爲問題是不包括mdbtools。我嘗試在requirements.txt中包含mdbtools,但沒有任何運氣。有沒有人有任何想法?使用在Heroku

我包括mdbtools使它們在自己的行這樣mdbtools-DEV在requirements.txt:

mdbtools 
mdbtools-dev 

這是我得到的錯誤,當我包括requirements.txt mdbtools和mdbtools-dev的

.... 
Requirement already satisfied (use --upgrade to upgrade): stripe in ./lib/python2.7/site-packages (from -r requirements.txt (line 7)) 
Downloading/unpacking mdbtools-dev (from -r requirements.txt (line 8)) 
Could not find any downloads that satisfy the requirement mdbtools-dev (from -r requirements.txt (line 8)) 
No distributions at all found for mdbtools-dev (from -r requirements.txt (line 8)) 
Storing complete log in /app/.pip/pip.log 
! Heroku push rejected, failed to compile Python app 
+0

你有沒有得到解決嗎?我正在開發一個項目,需要做類似的事情。 –

+0

是的。解決方案有點複雜。答案是下載debian軟件包,然後複製庫文件並將它們加載到您的服務器(或heroku)。從那裏,請確保您在腳本開始的路徑這些庫添加到您的LD庫路徑,它應該工作 – mythander889

回答

0

http://pypi.python.org/pypi/mdbtools給出:

Not Found() 

爲了pip爲了能夠安裝需求,它必須能夠在PyPI上找到它們。看起來你使用的是PyPI上沒有的包,因此pip找不到它來安裝它。

+0

這是有道理的 - 你知道它周圍的任何方式? – mythander889

+0

取決於'mbdtools'包是否需要編譯。如果沒有,您可以將這些文件複製到您的項目中。如果是這樣,你可能必須自己做一些引導操作。 – Amber

0

SOLUTION

很多擺弄之後,我找到了解決辦法是有點複雜。答案是下載debian軟件包,然後複製庫文件(.so)並將它們加載到您的服務器(或heroku)。從那裏,請確保您在腳本開始的路徑這些庫添加到您的LD庫路徑,它應該工作