2015-05-01 56 views
1

我目前使用Heroku託管我的Python/Django服務器,並使用Amazon S3來處理我的資源。 我已將Python版本從2.7.6升級到2.7.9,現在面臨一個新問題:我的S3存儲桶名稱包含「。」。 (點),這會導致boto出現問題(我以前的python版本沒有這個問題)。 我在網上找到了如何解決這個問題:修改boto中的一個文件。我已經完成了,並且在我的本地工作正常。 (鏈接到該解決方案:https://github.com/boto/boto/issues/2836如何在Heroku服務器上安裝自定義Python包(boto)

現在,我需要在我的Heroku服務器上安裝新的定製版本的boto。因此,我創建了一個文件夾來存放我的應用程序中的自定義boto(使用setup.py),並且當我爲我的虛擬環境使用pip install -r requirements.txt時,一切正常。(requirements.txt包含我的應用程序運行所需的所有依賴項) 。在requirements.txt中,我現在使用的是-e ./customPythonPackages/boto而不是簡單的boto

然而,當我試圖推動在Heroku上使用完全相同的requirements.txt,我得到以下錯誤:

error: package directory 'boto/sdb' does not exist

我真的不知道該點什麼錯。根據pip和Heroku(https://devcenter.heroku.com/articles/python-pip),我檢查了我的requirements.txt文件的語法。

有沒有人有任何想法如何解決這個問題?

P.S .:我不想改變我的S3 ...

謝謝!

回答

1

不要試圖在Heroku上安裝自定義boto,只需將自定義boto文件夾放置在項目目錄中(與項目應用程序處於同一級別)。

+0

謝謝你的回答!這對我的問題來說是一個很好的解決方案,但是我認爲我實際上並沒有做正確的事情來創建我自己的軟件包。我發現那裏(http://docs.pythonboto.org/en/latest/boto_config_tut.html)我認爲是正確的方法,使用配置文件。 我不知道在哪裏把我的配置文件,以充分利用它...例如,如果我的應用程序被稱爲「my_app」,我應該在哪裏放置配置文件? 最後,由於我是新手,因此我無法對您的答案進行投票... :) – ChIngalls

+0

您應該可以通過單擊向上箭頭上方的複選標記來「接受」答案,而不是upvoting。至於配置文件,根據文檔,似乎你可以創建一個.boto文件夾,並將配置文件放在那裏。儘管這可能是一個單獨的問題。如果您正在自定義博託應用程序,我只是使用答案中提到的解決方案。 – mcastle

相關問題