Heroku 导入错误:没有名为 tweepy 的模块 - 但它已安装并在本地运行良好



我使用Tweepy库在Python中制作了一个非常简单的Twitter机器人。一切都在本地运行得很好,当我完全按照预期运行正确的脚本时,它会发推文。但是,我想自动化它,以便它每天发几次推文,所以尝试使用 Heroku 调度程序。

我可以毫无问题地推送到 Heroku,但是当我尝试在 Heroku 上运行工作线程时,我收到此错误消息(这当然意味着调度程序也不工作,因为它正在运行相同的进程):

    Running `worker` attached to terminal... up, run.8157                                                                                                            
/app/.bash_profile: line 6: parts: command not found                                                                                                             
Traceback (most recent call last):                                                                                                                               
  File "/app/workspace/botlovesyou/lovescript.py", line 4, in <module>                                                                                           
    import tweepy, time                                                                                                                                          
ImportError: No module named tweepy  

所以,呃...现在怎么办?我已经用谷歌搜索并找到了这个,但不确定如何实际解决它。这个问题看起来看似相似,但我没有导致他问题的其他缺失依赖关系。

我尝试再次运行 pip install tweepy,但当然它说"要求已经满足"。我试过 pip 卸载它,然后 pip 再次安装它 - 它重新安装没有问题,但是当它在 heroku 上时我收到同样的错误。我也尝试安装上面链接中提到的构建包,但它无法构建并且不允许我推送,所以我删除了它。

编辑:我现在也尝试了git克隆和使用 setup.py 安装tweepy。同样,安装运行没有错误,但 Heroku 仍然说没有名为 Tweepy 的模块。

Tweepy 肯定安装在站点包目录中。我错过了什么?

非常感谢。

问题已解决(无论如何,这个问题)。

当它在 requirements.txt 文件中达到 PIL 时,安装正在中止 - 它不能通过 pip 安装,只是跳过安装之后的所有内容。这个项目不需要 PIL,所以只是从需求中删除了它(我真的不知道为什么它首先在需求中,我认为这是一个 nitrous.io 预安装)。在这种情况下非常简单的解决方案。

编辑以添加 - 在 Nitrous 上启动一个新的 Python 盒子时,PIL 已正确预装。所以我认为我的初始安装可能已损坏。

呸。再次编辑。亚硝基似乎又吃了PIL,或者也许Heroku吃了。同样的错误。再次将其从要求中删除。

最新更新