2
我想在运行Ubuntu 16.04的虚拟服务器上部署django应用程序。django:如何避免迁移的权限错误
python manage.py makemigrations
导致下面的回溯,一些模型和领域已经创建后:
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中。
如何为用户设置权限?
谢谢!
起初:谢谢!这很简单。 事情是,是否有一个一般的建议,用户需要在哪个文件夹写入权限,而不是?或者我只需要授予某些文件夹的权限,每当我遇到这个问题?或者会是唯一发生这种情况的时间? – setchock
一般而言,您应该从有权访问项目目录的用户运行django项目。 –
@EugeneSoldatov谢谢兄弟,你已经节省了我的时间:) –