2016-07-30 2 views
2

Я пытаюсь развернуть приложение django на виртуальном сервере, на котором запущен ubuntu 16.04.django: Как избежать ошибки разрешения при миграции

python manage.py makemigrations 

приводит к следующему TRACEBACK, после того, как некоторые модели и поля были созданы:

Traceback (most recent call last): 
    File "manage.py", line 12, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/sysadmin/.virtualenvs/django/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line 
    utility.execute() 
    File "/home/sysadmin/.virtualenvs/django/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/sysadmin/.virtualenvs/django/local/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/home/sysadmin/.virtualenvs/django/local/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "/home/sysadmin/.virtualenvs/django/local/lib/python2.7/site-packages/django/core/management/commands/makemigrations.py", line 150, in handle 
    self.write_migration_files(changes) 
    File "/home/sysadmin/.virtualenvs/django/local/lib/python2.7/site-packages/django/core/management/commands/makemigrations.py", line 179, in write_migration_files 
    with open(writer.path, "wb") as fh: 
IOError: [Errno 13] Permission denied: u'/home/sysadmin/public_html/aegee-stuttgart.org/aegeewww/migrations/0001_initial.py' 

Я также попытался:

sudo python manage.py makemigrations 

Но так как я использую виртуальную среду, я получите следующую ошибку, поскольку django не установлен в системной системе:

ImportError: No module named django.core.management 

Как исправить эту ошибку? Путь python распознается правильно, и django, очевидно, установлен в venv.

Как мне установить разрешения для пользователя?

Спасибо!

ответ

3

Вам необходимо предоставить доступ для пользователя в папку кочевок:

sudo chown <your_username> <path_to_migrations_folder> 
+0

На первых: спасибо! Это было довольно просто. Вещь есть, есть общий совет, в какой папке пользователю нужны права на запись, а на каких нет? или мне просто нужно предоставить разрешения для определенных папок, каждый раз, когда я сталкиваюсь с этой проблемой? Или это будет единственный раз, когда это произойдет? – setchock

+0

В общем, вы должны запустить проект django у пользователя, у которого есть доступ к каталогу с проектом. –

+0

@EugeneSoldatov благодарит брата, вы спасли мое время :) –

 Смежные вопросы

  • Нет связанных вопросов^_^