heroku Django ·赫鲁库:python:无法打开文件“manage.py”:[Errno 2]没有这样的文件或目录

wljmcqd8  于 2022-11-13  发布在  Go
关注(0)|答案(6)|浏览(132)

我正在Heroku上部署一个Django网站。我的项目名为mysite-project,它的根目录包含manage.pyProcfile
运行git push heroku master后,我可以访问heroku网站。
网站显示:

我假设我没有看到任何东西(导航栏、初始页面等),因为我没有运行migrate。
如果我这样做:

heroku run python manage.py migrate

我得到的错误:
python:无法打开文件“manage.py”:[Errno 2]没有这样的文件或目录
这是没有意义的,因为我在正确的目录。
事实上:

  • 我可以运行python manage.py runserver和本地主机
  • git ls-files manage.py--输出--〉manage.py

"但是...“
如果我这样做:

heroku run bash
ls manage.py

我得到:
ls:无法访问“manage.py”:没有这样的文件或目录
manage.py似乎在我的本地,但不在我的heroku。

过程文件

web: gunicorn mysite-project.wsgi
tyky79it

tyky79it1#

首先使用heroku logs --source app --tail来确保Build successful。如果构建成功,请确保您的项目位于git存储库的根目录下。我也遇到过同样的问题,因为我的Django项目并不在git存储库的根目录下。我的文件层次结构首先是这样的(假设项目原型的名称是app,它有一个名为app的应用程序)

  • -git_repo文件系统
    指令──过程文件
    ──要求.txt
    新建文件夹
    原型(文件夹)
    应用程序(文件夹)
    - -------------------
    - -管理. py
    数据库sqlite3
    我将层次结构更改为以下内容,并且它起作用了
  • -git_repo文件系统
    指令──过程文件
    ──要求.txt
    原型(文件夹)
    应用程序(文件夹)
    - -------------------
    - -管理. py
    数据库sqlite3
0yycz8jy

0yycz8jy2#

当你访问这个站点时,你看到的欢迎词(以及你在服务器上找不到ls的事实)告诉你,你还没有成功地将你的django项目推送到Heroku。
这可能是因为推送失败,在这种情况下,您应该查询documentation

$ pip install gunicorn django-heroku
$ pip freeze > requirements.txt

...然后添加

import django_heroku
django_heroku.settings(locals())

...到settings.py的底部。同时不要忘记在settings.py中设置STATIC_ROOT='staticfiles'

suzh9iv8

suzh9iv83#

所附的屏幕截图表明您刚刚在heroku中创建了应用程序,但没有将本地存储库代码推送到heroku应用程序。

git push heroku master
wh6knrhe

wh6knrhe4#

我也遇到了这个错误!我通过指定路径解决了它:

python <your_project_name>/manage.py migrate

这对我很有效。

ttvkxqim

ttvkxqim5#

在我的例子中,这是因为我使用的分支名称不是master。我的分支名称是heroku_branch,所以为了使它正常工作,我将它按如下方式推

git push heroku heroku_branch:master

这次被推了一下,工作正常。

u7up0aaq

u7up0aaq6#

为了 Django +希鲁库

web: python manage.py runserver 0.0.0.0:\$PORT

相关问题