1
resposta

Permissão negada

(venv) ubuntu@ip-172-31-18-187:~/tcc$ django-admin startproject setup . Traceback (most recent call last): File "/home/ubuntu/tcc/venv/bin/django-admin", line 8, in sys.exit(execute_from_command_line()) File "/home/ubuntu/tcc/venv/lib/python3.10/site-packages/django/core/management/init.py", line 442, in execute_from_command_line utility.execute() File "/home/ubuntu/tcc/venv/lib/python3.10/site-packages/django/core/management/init.py", line 436, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/ubuntu/tcc/venv/lib/python3.10/site-packages/django/core/management/base.py", line 412, in run_from_argv self.execute(*args, **cmd_options) File "/home/ubuntu/tcc/venv/lib/python3.10/site-packages/django/core/management/base.py", line 458, in execute output = self.handle(*args, **options) File "/home/ubuntu/tcc/venv/lib/python3.10/site-packages/django/core/management/commands/startproject.py", line 21, in handle super().handle("project", project_name, target, **options) File "/home/ubuntu/tcc/venv/lib/python3.10/site-packages/django/core/management/templates.py", line 205, in handle with open(new_path, "w", encoding="utf-8") as new_file: PermissionError: [Errno 13] Permission denied: '/home/ubuntu/tcc/manage.py'

1 resposta

O erro "PermissionError: [Errno 13] Permission denied" ocorre quando o usuário não tem permissões suficientes para criar ou gravar no arquivo ou diretório especificado. Nesse caso, parece que você está tentando criar um projeto Django usando o comando django-admin startproject, mas o usuário não possui permissões para gravar no diretório atual ou no arquivo "manage.py".

Existem algumas maneiras de resolver esse problema:

  1. Executar o comando com privilégios de administrador: Dependendo da configuração do seu sistema e das permissões do diretório em que você está tentando criar o projeto, pode ser necessário executar o comando com privilégios de administrador usando sudo. Por exemplo:
sudo django-admin startproject setup .

No entanto, é importante ter cuidado ao usar o comando sudo, pois ele pode alterar permissões de arquivos e diretórios, e você pode acabar tendo problemas de permissões mais tarde. É recomendável criar o projeto em um diretório em que você tenha permissões de gravação adequadas sem usar sudo.

  1. Verificar permissões do diretório: Verifique as permissões do diretório atual e certifique-se de que você tenha permissões de gravação nele. Você pode usar o comando ls -l para visualizar as permissões dos arquivos e diretórios no diretório atual:
ls -l

Se as permissões estiverem inadequadas, você pode corrigi-las usando o comando chmod. Por exemplo, para conceder permissões de gravação para o usuário atual no diretório atual:

chmod u+w .
  1. Diretório de trabalho diferente: Você também pode tentar criar o projeto Django em um diretório diferente em que você tenha permissões adequadas. Navegue para o diretório desejado e execute o comando django-admin startproject novamente.

  2. Ambiente virtual: Verifique se você está usando um ambiente virtual (virtualenv) e se ele foi ativado corretamente. Se você estiver usando um ambiente virtual, certifique-se de que ele esteja ativado antes de criar o projeto Django.

Por fim, certifique-se de que o usuário atual tem as permissões adequadas no sistema de arquivos para criar o projeto e gravar arquivos nele. Se necessário, consulte o administrador do sistema para obter ajuda na configuração das permissões corretas no diretório em que você deseja criar o projeto.