在django中执行以下命令时遇到以下错误:
django-admin makemessages -l </ p>
错误是此字符串:请通过--from-code或通过注释指定源编码 按照http://www.python.org/peps/pep-0263.html中的规定。
settings.py配置是这样的:
LANGUAGE_CODE = 'ru'
LANGUAGES = [
('en', 'English'),
('ru', 'Russian'),
]
USE_I18N = True
LOCALE_PATHS = [
os.path.join(BASE_DIR, 'locale')
]
我的django版本是2.1,我在Ubuntu 18.04上使用pyCharm。我做了一些研究,发现有错误,但一段时间后已得到纠正。
答案 0 :(得分:0)
检查项目的虚拟环境文件夹是否位于项目的根目录中,例如:
project
|
|----project
|----app1
|----app2
...
|----project_env
|----manage.py
如果是这样,请使用以下命令:
django-admin makemessages -l en -i project_env
问题是,当您运行makemessages
命令时,它将在所有子目录中查找消息,因此站点包中的库会导致此错误。通过使用-i
,您可以忽略环境文件夹。
实际上最好不要在项目根文件夹中包含环境文件夹,而可以添加一个requirements.txt
文件并向其中添加所有项目依赖项。因此,下次激活新的虚拟环境后,您可以使用以下命令轻松地重新安装项目依赖项:
pip install -r requirements.txt