gpt4 book ai didi

python - Django makemessages 中的权限被拒绝

转载 作者:行者123 更新时间:2023-12-01 03:12:58 26 4
gpt4 key购买 nike

我正在尝试将 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 - 实际上 the doc states that :

Generally, when working on a single Django project, it’s easier to use manage.py than django-admin. (...) The command-line examples throughout this document use django-admin to be consistent, but any example can use manage.py or python -m django just as well.

原因是:

In addition, manage.py is automatically created in each Django project. manage.py does the same thing as django-admin but takes care of a few things for you: It puts your project’s package on sys.path. It sets the DJANGO_SETTINGS_MODULE environment variable so that it points to your project’s settings.py file.

注意,实际上第二点并不完全准确 - ./manage.py 仅设置DJANGO_SETTINGS_MODULE(如果已设置)在您的环境中。

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

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

关于python - Django makemessages 中的权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42718942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com