项目部署错误:FileNotFoundError: [Errno 2] No such file or directory: 'manage.py'

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuyexiaohan/article/details/82620364

1.问题描述

在服务器上部署Django项目时,在配置好虚拟环境、数据库等操作,在项目目录下执行运行服务器命令时:

    python3 manage.py runserver 0.0.0.0:8000

报错:

FileNotFoundError: [Errno 2] No such file or directory: 'manage.py'

2.问题分析

查询了网上的多中说法,多是说命令没有在项目文件(即manage.py所在文件夹)下运行。但实际情况,我的命令确实是将目录切换到项目文件夹中运行的。否则也不将数据库的表建成功。

    python3 manage.py makemigrations
    python3 manage.py migrate

以上两个命令都运行成功。
所以问题应该不是这个,所以继续找原因,发现以下两点:

  • 服务器中存放项目的文件名,需要与本地实际运行的文件名一致。因为django项目生成时,是以这个根文件名,定义了一些变量或参数的;

  • 在manage.py文件的头文件注释中,本地和服务器的虚拟环境可能配置的不一样,所以需要针对服务器的虚拟地址进行修改。

举例说明:
# 本地manage.py文件的第一行代码是:
#!/usr/bin/env/python3

# 服务器manage.py文件的第一行代码应修改为:
#!/root/.virtualenvs/django_01/bin/python3

这样再运行python3 manage.py runserver 0.0.0.0:8000命令,服务器就可以正常启动了。

参考文章:
https://stackoverflow.com/questions/12252198/error-no-such-file-or-directory-when-running-django-manage-py

猜你喜欢

转载自blog.csdn.net/yuyexiaohan/article/details/82620364