我在我的 OSX babel 安装中找不到 setup.py 来导入 cldr babel 文件,我做错了什么



我一直在尝试在我的iMac上使用babel(OSX Mavericks,我使用MacPorts安装了python和babel),但是我收到此错误消息:

[...]
writing PO template file to ./locale/messages.pot
Traceback (most recent call last):
  File "/usr/local/bin/pybabel", line 8, in <module>
    load_entry_point('Babel==2.0-dev-20131218', 'console_scripts', 'pybabel')()
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/messages/frontend.py", line 1151, in main
    return CommandLineInterface().run(sys.argv)
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/messages/frontend.py", line 665, in run
    return getattr(self, cmdname)(args[1:])
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/messages/frontend.py", line 947, in extract
    sort_by_file=options.sort_by_file)
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/messages/pofile.py", line 427, in write_po
    messages = list(catalog)
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/messages/catalog.py", line 552, in __iter__
    for name, value in self.mime_headers:
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/messages/catalog.py", line 337, in _get_mime_headers
    locale='en')))
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/dates.py", line 609, in format_datetime
    locale = Locale.parse(locale)
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/core.py", line 284, in parse
    language = get_global('language_aliases').get(language, language)
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/core.py", line 53, in get_global
    _raise_no_data_error()
  File "/Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel/core.py", line 25, in _raise_no_data_error
  raise RuntimeError('The babel data files are not available. '
RuntimeError: The babel data files are not available. This usually happens because you are using a source checkout from Babel and you did not build the data files.  Just make sure to run "python setup.py import_cldr" before installing the library.

我无法运行以下命令,因为我在 Mac 上的 .egg 存档中找不到 setup.py 文件

>python setup.py import_cldr

尝试在我下载的另一个版本的 babel 上运行 setup.py 导致此错误,但即使我可以做到,它也不能解决我的问题,我认为:

> python setup.py import_cldr
running import_cldr
Local copy '/Users/Ailete/Downloads/Babel-1.3/cldr/core-23.1.zip' not found
Downloading 'core-23.1.zip'
Traceback (most recent call last):
  File "scripts/download_import_cldr.py", line 104, in <module>
    main()
  File "scripts/download_import_cldr.py", line 82, in main
    urlretrieve(URL, zip_path, reporthook)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py",     line 94, in urlretrieve
    return _urlopener.retrieve(url, filename, reporthook, data)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 244, in retrieve
    tfp = open(filename, 'wb')
IOError: [Errno 2] No such file or directory: '/Users/Ailete/Downloads/Babel-1.3/cldr/core-23.1.zip'

关于如何为 .egg 安装安装 CLDR 文件的任何想法?

这是我机器上 babel 包的内容:

> cd /Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/
> ls
EGG-INFO    babel
> cd babel
> ls
__init__.py     core.py     localedata.py   numbers.py  support.py
__init__.pyc    core.pyc    localedata.pyc  numbers.pyc support.pyc
_compat.py      dates.py    localtime       plural.py   util.py
_compat.pyc     dates.pyc   messages        plural.pyc  util.pyc

以及我尝试的一些命令的结果:

> cd /Library/Python/2.7/site-packages/Babel-2.0_dev_20131218-py2.7.egg/babel
> python setup.py import_cldr
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'setup.py': [Errno 2] No such file or directory
> python setup.py install
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'setup.py': [Errno 2] No such file or directory

您必须进入它所在的目录,然后键入:"Python setup.py 安装"(不带引号)。

~托马斯

我想我正在查看随系统一起安装的 babel 版本......

我发现MacPorts在以下位置安装东西:

/opt/local/

我需要的 cldr 文件似乎位于:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/babel/localedata/

我现在需要找到如何在小牛队上正确设置路径......但我的问题似乎是系统没有使用正确版本的 Babel。

感谢您的回答,我将提出一个新问题来帮助我进行路径配置。

最新更新