Python Django makemessages中的权限被拒绝

Python Django makemessages中的权限被拒绝,python,django,internationalization,django-admin,manage.py,Python,Django,Internationalization,Django Admin,Manage.py,我正在尝试将i8n添加到Django应用程序中,但执行时: (venv) user@machine:~/path/to/repo$ django-admin makemessages -l es 将引发下一个错误: PermissionError: [Errno 13] Permission denied: './venv/lib/python3.5/site-packages/Jinja2-2.9.5.dist-info/LICENSE.txt.py' 但是如果我将它与manage.py而

我正在尝试将i8n添加到Django应用程序中,但执行时:

(venv) user@machine:~/path/to/repo$ django-admin makemessages -l es
将引发下一个错误:

PermissionError: [Errno 13] Permission denied: './venv/lib/python3.5/site-packages/Jinja2-2.9.5.dist-info/LICENSE.txt.py'
但是如果我将它与manage.py而不是django admin一起使用,它将正常工作。在django文档中,他们建议使用django admin


有什么想法吗?

Django的文档并没有真正“建议”使用
Django admin
而不是
/manage.py
——实际上:

通常,在处理单个Django项目时,使用manage.py比使用Django admin更容易。 (...) 本文档中的命令行示例使用django admin保持一致,但任何示例也可以使用manage.py或python-m django

原因是:

此外,manage.py将在每个Django项目中自动创建。manage.py与django admin的功能相同,但为您提供了一些功能: 它将项目的包放在sys.path上。 它设置DJANGO_SETTINGS_MODULE环境变量,使其指向项目的SETTINGS.py文件

注意:事实上,第二点并不完全准确-
/manage.py
仅设置
DJANGO\u设置\u模块
,如果它在您的环境中未设置

因此,当使用
django admin
时,您必须确保它将找到您的设置模块(通过设置环境变量或通过
--settings
选项传递它),并且项目的根目录位于pythonpath中


实际上,除了
startproject
命令(根据定义,在该命令中,您还没有
/manage.py
文件),没有理由使用
django admin
,除非您希望在不更改环境变量的情况下显式使用不同的设置模块。

使用
/manage.py
,django在项目中创建此快捷方式是有原因的。我只使用过
django admin
来创建一个新项目(显然在创建项目之前没有
manage.py
),其他的一切都是用
/manage.py
完成的,但是为什么他们一直在django文档中用
django admin
编写示例呢?这是这里的文件:不客气,但我刚刚搜索了文件,你知道吗?-)