如何在 Heroku 服务器上安装自定义 Python 包 (boto)

How to install custom Python package (boto) on Heroku server

我目前正在使用 Heroku 来托管我的 Python/Django 服务器,并使用 Amazon S3 来处理我的资源。 我已经将我的 Python 版本从 2.7.6 升级到 2.7.9,现在我遇到了一个新问题:我的 S3 存储桶名称包含“.”。 (点),这会导致 boto 出现问题(我以前的 python 版本没有这个问题)。 我在网上找到了解决这个问题的方法:修改boto中的一个文件。我已经做到了,它在我的本地运行良好。 (link 该解决方案:https://github.com/boto/boto/issues/2836

现在,我需要将新的自定义版本的 boto 安装到我的 Heroku 服务器上。因此,我在我的应用程序中创建了一个文件夹来托管我的自定义 boto(使用 setup.py),当我对我的虚拟环境使用 pip install -r requirements.txt 时一切正常(requirements.txt 包含所有依赖项我的应用程序需要 运行)。在 requirements.txt 中,我现在使用 -e ./customPythonPackages/boto 而不是简单的 boto

但是,当我尝试使用完全相同的 requirements.txt 推送 Heroku 时,出现以下错误:

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

那时我真的不知道出了什么问题。根据 pip 和 Heroku (https://devcenter.heroku.com/articles/python-pip),我已经对 requirements.txt 文件的语法进行了三次检查。

有人知道如何解决这个问题吗?

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

谢谢!

不要尝试在 Heroku 上安装自定义 boto,只需将自定义 boto 文件夹放在项目目录中(与项目应用程序处于同一级别)。