我正在尝试使用South迁移我的Django应用程序并且正在获得权限被拒绝警告。我虽然以root身份登录(我知道,风险很大,只是试图设置好东西)。为什么这会被拒绝?
root@Harold:~/OmniCloud/omnicloud: ./manage.py convert_to_south OmniCloud_App
-bash: ./manage.py: Permission denied
答案 0 :(得分:7)
manage.py
可能没有设置可执行位,这是故意的。根据Django文档使用python manage.py
。
答案 1 :(得分:2)
您需要确保./manage.py
设置了可执行位:
chmod a+x manage.py
答案 2 :(得分:2)
如果出于任何原因需要执行manage.py,请运行:
chmod +x manage.py
然而,正如larsmans所说,python manage.py
是运行它的方式。
答案 3 :(得分:0)
您应该在脚本的开头添加以下行:
#!/usr/bin/env python
(假设解释器在用户的PATH上) 之后,您可以通过
使其可执行chmod +x manage.py
希望,这有帮助。
答案 4 :(得分:0)
我认为你的'项目'是由root用户创建的。在创建“项目”之后,所有文件都具有“root”权限。这是主要原因。 所以,你必须由'root'用户创建'project'。