Python Django makemessages中的权限被拒绝
我正在尝试将i8n添加到Django应用程序中,但执行时: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而
(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
编写示例呢?这是这里的文件:不客气,但我刚刚搜索了文件,你知道吗?-)