2014-11-04 94 views
3

我创造了语言的文件与django-admin.py makemessages -adjango-admin.py makemessages失败

一点点发展较晚的所有尝试创建* .po文件与失败:

django-admin.py makemessages -v 3 -a 
examining files with the extensions: .html and .txt 
Traceback (most recent call last): 
    File "/usr/local/bin/django-admin.py", line 5, in <module> 
    management.execute_from_command_line() 
    File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py",   line 385, in execute_from_command_line 
utility.execute() 
File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line  377, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 288, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 338, in execute 
output = self.handle(*args, **options) 
File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 533, in handle 
return self.handle_noargs(**options) 
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 283, in handle_noargs 
potfiles = self.build_potfiles() 
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 299, in build_potfiles 
file_list = self.find_files(".") 
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 358, in find_files 
ignored_roots = [os.path.normpath(p) for p in (settings.MEDIA_ROOT, settings.STATIC_ROOT)] 
File "/usr/local/lib/python3.4/dist-packages/django/core/management/commands/makemessages.py", line 358, in <listcomp> 
ignored_roots = [os.path.normpath(p) for p in (settings.MEDIA_ROOT, settings.STATIC_ROOT)] 
File "/usr/lib/python3.4/posixpath.py", line 335, in normpath 
initial_slashes = path.startswith(sep) 
AttributeError: 'NoneType' object has no attribute 'startswith' 

我试了一下几个文件扩展名和-ignore模式。 你有什么提示吗?

+0

您是否检查过以确保'''settings.MEDIA_ROOT'''''' settings.STATIC_ROOT'''存在且有效? – schillingt 2014-11-04 21:02:15

+0

我已triied设置它们是这样的: 'STATIC_ROOT =( os.path.join(BASE_DIR, '静态'), )' 或以 '/无功/网络/ projectroot /静态' – Lioman 2014-11-04 21:45:28

+0

好的是奇怪的是:我使用vagrant进行开发,所描述的错误发生在那里,而其他任何命令都不会产生错误。我已经在主机上试了一下,一切正常。 – Lioman 2014-11-05 08:07:57

回答

1

这是由于在Django 1.7.1推出了bug。你可以通过更新你的Django到最新版本来解决这个问题:

pip install -U django 

P.S.相关的StackOverflow问题和解答可以在这里找到herehere

1

自django 1.7以来,我有同样的问题。我用manage.py做消息而不是django-admin.py排除环境文件夹:

python manage.py makemessages --locale=en --ignore=venv/*