Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django:如何避免迁移时的权限错误_Python_Django_Virtualenv - Fatal编程技术网

Python django:如何避免迁移时的权限错误

Python django:如何避免迁移时的权限错误,python,django,virtualenv,Python,Django,Virtualenv,我试图在运行ubuntu 16.04的虚拟服务器上部署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/

我试图在运行ubuntu 16.04的虚拟服务器上部署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'
但是,由于我使用的是虚拟环境,因此出现以下错误,因为django未在系统范围内安装:

ImportError: No module named django.core.management
如何修复此错误?python路径被正确识别,django显然安装在venv中

如何设置用户的权限


谢谢

您需要授予用户对迁移文件夹的访问权限:

sudo chown <your_username> <path_to_migrations_folder>
sudo chown

目录应为当前用户所有,以便对其进行更改。
对于即时解决方案使用:
尝试:
sudo python3 manage.py makemigrations

也可以试着改变食物
sudo chown owner\u name foldername(或)dir

例如:
sudo chown ubuntu db.sqlite3
,位于相应的目录中

使用检查:
ls-la
显示当前目录中文件的权限

如果没有任何效果,请尝试更改文件的读/写权限:
sudo chmod permission\u no dir\u name
permission\u no 6644或777两者都可以正常工作。

例:
sudo chmod 777db.sqlite3

首先:谢谢!这很简单。问题是,对于用户需要哪些文件夹的写入权限和不需要哪些文件夹的写入权限,是否有一般性的建议?或者每次遇到这个问题时,我都必须授予某些文件夹权限吗?或者这是唯一一次发生这种情况吗?一般来说,您应该从有权使用project访问目录的用户处运行django项目。@EugeneSoldatov谢谢兄弟,您节省了我的时间:)
sudo chown <your_username> <path_to_migrations_folder>