2017-08-24 92 views
0

当我尝试使用Heroku部署我的Django项目时遇到了一个奇怪的问题。“ImportError:无法导入Django”使用heroku,但没有在本地运行

我认真遵循所有的步骤,这可以在这里找到:https://devcenter.heroku.com/articles/deploying-python#django-applications-on-heroku

现在,我在我的迁移数据库的最后一步。要做到这一点,我跑

heroku run python manage.py migrate 

这会导致异常错误 “无法导入Django的”

然而,当我运行

python manage.py migrate 

一切工作正常。

我完全不知道为什么Django没有使用Heroku导入,并且在几个小时的故障排除后仍未解决问题。这里是我的代码回购:https://github.com/tonypedraza/luispedraza/tree/master/luispedraza

请让我知道,如果我可以给任何更多的信息。

谢谢!!!!

+1

尝试运行此命令,看看Django是否已列出:'heroku run pip freeze' – n8sty

+0

嗨,@ n8sty我试图运行该命令,但收到了bash pip命令未找到的错误。我试着用'heroku run python get-pip.py'来安装pip,但是我收到了get-pip.py找不到文件的错误。你之前运行过heroku命令吗? –

+0

我刚刚在我的一个Django项目上运行了这个命令,它工作正常。你的项目的根目录中是否有runtime.txt文件? – n8sty

回答

1

我解决了这个问题。原来我的heroku应用并没有在我的虚拟世界中创建。对于任何人遇到了类似的问题,我通过运行下面的代码发现这一点:

$ heroku run bash 
$ python 
$ import sys 
$ sys.path 

这表明我的Heroku是指向依赖于我的系统目录,不是那些在我的virtualenv。为了解决,我删除了应用程序,并在我的virtualenv中创建了一个新应用程序。我确信你可以改变sys.path来指向正确的目录,但是我决定从刚开始的时候重新启动项目。

相关问题