运行后出现问题:heroku运行python manage.py migration

问题描述

当我在heroku中部署django应用程序时,我运行:

  heroku run python3  manage.py migrate

然后我在控制台中收到此消息:

  File "manage.py",line 16
  ) from exc
     ^
  SyntaxError: invalid Syntax

我的manage.py文件实际上是:

  #!~/.virtualenvs/djangodev/bin/python
  """Django's command-line utility for administrative tasks."""
  import os
  import sys


  def main():
      os.environ.setdefault('DJANGO_SETTINGS_MODULE','myApp3.settings')
      try:
          from django.core.management import execute_from_command_line
      except ImportError as exc:
          raise ImportError(
              "Couldn't import Django. Are you sure it's installed and "
              "available on your PYTHONPATH environment variable? Did you "
              "forget to activate a virtual environment?"
          ) from exc
      execute_from_command_line(sys.argv)

  if __name__ == '__main__':
      main()

当我运行python => python3时,显示下一条消息:

  Traceback (most recent call last):
    File "manage.py",line 10,in main
      from django.core.management import execute_from_command_line
  ModuleNotFoundError: No module named 'django'

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "manage.py",line 21,in <module>
      main()
    File "manage.py",line 16,in main
      ) from exc
  ImportError: Couldn't import Django. Are you sure it's installed and available       on your PYTHONPATH environment variable? Did you forget to activate a virtual       environment?



  

解决方法

您需要先设置虚拟环境。然后在虚拟环境中安装django。您可以通过名为pipenv的方法来完成此操作。您需要这样做将其添加到您的项目中。 python install pipenv。然后通过执行pipenv install django在该虚拟环境中安装python。 django安装后,您就可以进行迁移了。