Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Heroku:python:can';t打开文件';manage.py';:[Errno 2]没有这样的文件或目录_Django_Heroku - Fatal编程技术网

Django Heroku:python:can';t打开文件';manage.py';:[Errno 2]没有这样的文件或目录

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]没有这样的文件或目录 这没有意义,

我正在Heroku上部署一个Django网站。我的项目称为mysite项目,它的根目录包含
manage.py
Procfile

我可以在运行git push heroku master后访问heroku网站

网站显示:

我假设我没有看到任何东西(导航栏、初始页面等),因为我没有运行迁移

如果我这样做:

heroku run python manage.py migrate
我得到一个错误:

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

这没有意义,因为我在正确的目录中。 事实上:

  • 我可以运行
    python manage.py runserver
    ,locahost也可以工作
  • 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