Django Heroku:python:can';t打开文件';manage.py';:[Errno 2]没有这样的文件或目录
我正在Heroku上部署一个Django网站。我的项目称为mysite项目,它的根目录包含Django Heroku:python:can';t打开文件';manage.py';:[Errno 2]没有这样的文件或目录,django,heroku,Django,Heroku,我正在Heroku上部署一个Django网站。我的项目称为mysite项目,它的根目录包含manage.py和Procfile 我可以在运行git push heroku master后访问heroku网站 网站显示: 我假设我没有看到任何东西(导航栏、初始页面等),因为我没有运行迁移 如果我这样做: heroku run python manage.py migrate 我得到一个错误: python:无法打开文件“manage.py”:[Errno 2]没有这样的文件或目录 这没有意义,
manage.py
和Procfile
我可以在运行git push heroku master后访问heroku网站
网站显示:
我假设我没有看到任何东西(导航栏、初始页面等),因为我没有运行迁移
如果我这样做:
heroku run python manage.py migrate
我得到一个错误:
python:无法打开文件“manage.py”:[Errno 2]没有这样的文件或目录
这没有意义,因为我在正确的目录中。
事实上:
- 我可以运行
,locahost也可以工作python manage.py runserver
--输出-->git ls files manage.py
manage.py
ls:无法访问“manage.py”:没有这样的文件或目录
似乎manage.py
在我的本地文件中,但不在我的heroku文件中
Procfile
web: gunicorn mysite-project.wsgi
当您访问该站点时所看到的欢迎(以及在服务器上找不到带有
ls
的manage.py
的事实)告诉您,您尚未成功地将django项目推送到Heroku。尝试运行git push heroku master
可能是推送失败,在这种情况下,您应该咨询。具体来说,运行
$pip安装gunicorn django heroku
$pip freeze>requirements.txt
…然后添加
导入django_heroku
django_heroku.settings(locals())
…到
settings.py的底部。另外,不要忘记在settings.py
中设置STATIC\u ROOT='staticfiles'
。附带的屏幕截图表明您刚刚在heroku中创建了应用程序,但没有将本地存储库代码推送到heroku应用程序
git push heroku master
首先使用heroku日志--source app--tail
确保构建成功。
如果构建成功,请确保您的项目位于git repo的根目录下。
我也有同样的问题,因为我的Django项目不是git回购协议的根源。
我的文件层次结构首先是这样的(假设项目原型的名称,并且它有一个名为app的应用)├──吉特回购
├──Procfile
├──requirements.txt
├──新文件夹
├──原型(文件夹)
├──应用程序(文件夹)
├──.gitignore
├──manage.py
├──db.sqlite3 我将层次结构更改为以下内容,它起了作用
├──吉特回购
├──Procfile
├──requirements.txt
├──原型(文件夹)
├──应用程序(文件夹)
├──.gitignore
├──manage.py
├──db.sqlite3正如@Reem_Abdel_Rahman所指出的,项目的
manage.py
文件可能不存在于项目的git存储库的根目录中
但是,如果在项目的Procfile
中提供manage.py
文件的相对路径,则仍然可以解决此问题:
web: python project-name/manage.py runserver 0.0.0.0:$PORT
另外,请确保在末尾指定
0.0.0.0:$PORT
,以允许django应用程序绑定到默认情况下仅绑定到localhost
的任何IP,运行git push heroku master
可以获得什么?推送成功了吗?您可以在哪里解决此问题@MagofocoI不是,我用DigitalOcean代替了Heroku。哦,好吧,酷。。。
web: python project-name/manage.py runserver 0.0.0.0:$PORT