Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.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 在vagrant中Django应用程序中创建迁移文件夹的权限被拒绝_Python_Django_Vagrant_Django Migrations - Fatal编程技术网

Python 在vagrant中Django应用程序中创建迁移文件夹的权限被拒绝

Python 在vagrant中Django应用程序中创建迁移文件夹的权限被拒绝,python,django,vagrant,django-migrations,Python,Django,Vagrant,Django Migrations,我正在尝试从1.4 我尝试在vagrant环境中运行以下命令 $ python manage.py makemigrations [app_name] 我犯了这个错误 回溯(最近一次调用last):文件“manage.py”,第9行,在 从命令行(sys.argv)文件“/srv/www/[project]/shared/env/local/lib/python2.7/site packages/django/core/management/init.py”执行“, 第338行,从命令行执行命

我正在尝试从
1.4

我尝试在vagrant环境中运行以下命令

$ python manage.py makemigrations [app_name]
我犯了这个错误

回溯(最近一次调用last):文件“manage.py”,第9行,在 从命令行(sys.argv)文件“/srv/www/[project]/shared/env/local/lib/python2.7/site packages/django/core/management/init.py”执行“, 第338行,从命令行执行命令 utility.execute()文件“/srv/www/[project]/shared/env/local/lib/python2.7/site packages/django/core/management/init.py”, 第330行,执行中 self.fetch_命令(子命令)。从_argv(self.argv)文件/srv/www/[project/shared/env/local/lib/python2.7/site packages/django/core/management/base.py]运行_“, 第390行,来自argv的运行中 self.execute(*args,**cmd_options)文件“/srv/www/[project]/shared/env/local/lib/python2.7/site packages/django/core/management/base.py”, 第441行,执行中 output=self.handle(*args,**options)文件“/srv/www/[project]/shared/env/local/lib/python2.7/site packages/django/core/management/commands/makemigrations.py”, 第143行,在句柄中 self.write_migration_files(changes)File“/srv/www/[project]/shared/env/local/lib/python2.7/site packages/django/core/management/commands/makemigrations.py”, 第165行,写入\u迁移\u文件 os.mkdir(migrations_directory)操作系统错误:[Errno 13]权限被拒绝:'/vagrant/code/[project]/[app]/migrations'

通过vagrant ssh[app]命令登录应用程序后运行该命令。
然后设置虚拟环境,然后就会发生这种情况。

您应该以管理员或root用户身份登录到您的计算机。如果您不确定,请尝试在控制台/终端上使用sudo命令:


sudo python manage.py makemigrations[app_name]

您不必使用sudo或成为root用户来进行迁移

我认为sorl.thumbnail试图将它的迁移写入一个受保护的文件夹(可能是Python站点包?),这使得事情不太可移植

因此,要解决这个问题,首先在项目中创建一个名为“sorl_缩略图”的目录,然后包含一个空白的_init _u.py文件

MyProject
|_MyApp1
| |_migrations
| |___init__.py
|
|_sorl_thumbnail
  |___init__.py
最后,在settings.py中的某个位置添加以下行:

MIGRATION_MODULES = {
    'thumbnail': 'sorl_thumbnail.migrations',
}
就这样

现在,您应该能够运行:

makemigrations thumbnail
migrate thumbnail

迁移现在应该可以在本地项目的“sorl\u缩略图/迁移”文件夹中找到。

try:sudo python manage.py makemigrations[app\u name]