问题标签 [pyicu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在pypy下安装PyICU
我想在 Ubuntu linux 上的 pypy 上安装 pyicu,但是这个命令返回以下错误:
该软件包是否与 pypy 不兼容,如果是,我该如何安装?
python - PyICU 在 Django shell 中工作,但不在 Web 服务器上
尝试在登台服务器上访问 ICU 的 Collator 属性时出现此错误。
当启动 Django 的 shell 并执行完全相同的代码时,一切似乎都和本地一样工作。导致错误的代码是:
我已经libicu52, libicu-dev
通过Ondrej 的 PHP5 PPA以及 PyICU 在本地和我们的登台服务器上成功安装了 ICU ( )。运行带有 Python 2.7.5、Django 1.5.5、Nginx 1.4.1 和 uWSGI 1.9.13 的 Ubuntu Server 13.10 的服务器。
这是完整的追溯:
我设法打印了 ICU __dict__
,但它给了我一个 ICUError。在本地,ICU 以其实际属性返回,包括 Collator。
代码在 Django 的 shell 中正常工作但不能通过 Web 服务器运行的原因可能是什么?
python - 在 Heroku 上安装 PyICU
有人知道如何在 Heroku 上安装 PyICU 吗?
这是我到目前为止所尝试的:
- 创建了一个 heroku-buildpack-multi 应用程序。
在 .buildpacks
在 aptfile 中
然后 heroku 运行 bash
它安装得很好。
在应用程序的上传阶段(推送),我需要一种方法来做到这一点。
我试过了:
并在我的主目录中创建一个 .pydistutils.cfg 文件
在这两种情况下,GCC 都找不到头文件,但我可以看到
命令行上的标志。
用过的
查找 CPATH=$CPATH/app/.apt/usr/include/x86_64-linux-gnu 前后搜索路径的差异
前:
后:
但我不是 C++ 程序员,找不到问题所在。有任何想法吗?
linux - 在 centos 上安装 pyICU 时出现 GCC 错误
在 Centos 中安装多语言库时遇到问题。pyICU 的构建失败,gcc 退出代码为 1。
我在网上四处寻找,并没有找到很多有用的资源。
系统上安装了以下软件包:
- 点 8.0.2,
- CentOS 6.6 版(最终版),
- gcc 4.4.7,
- libicu-devel 4.2.1
- 蟒蛇开发2.6.6
- libevent-devel 1.4.13
日志:
我很感激任何帮助。
python - Python 使用给定的 sortKey 函数对对象/字典列表进行排序
(我在这里使用 Python 2)
我有一个字典列表,比如说
我想按他们的'name'
属性对该列表进行排序。这很容易做到:
现在,因为 Python 的字母排序是 ASCII 驱动的,所以结果将是
而我希望 Œdipus 在 Creon 和 Thor 之间。
按照这个建议,我使用 PyICU 的collator.getSortKey()
函数(让我们重命名它以提高可读性),它在字符串sortKey()
列表上以这种方式工作:strings
我的问题是:由于sortKey()
无论如何我都无法修改该函数,我如何使用它根据某些属性对更复杂的对象(此处为字典)列表进行排序?
目前我发现的唯一方法是在单独的列表中提取字典的值,对其进行排序,然后实现一个自定义函数,根据单独列表的索引和在单独列表中compare(a, b)
的索引返回 -1、0 或 1 ,然后调用这个功能:a
b
sort()
compare()
我觉得这不是很优雅。
python - 为什么两台机器上的 ICU 输出会不同?
我正在为 Flask 开发 i18n 库 ICU(和 PyICU)的接口。在我的测试套件中,我有一个测试可以检查不同区域设置的输出。我遇到的问题是我的测试在本地通过,而在它们也运行的 TravisCI 实例上,它们失败了。
原因?ICU 的输出在两台机器上明显不同。在一项测试中,我检查了dateformat
使用意大利语语言环境在 Python 上执行 dateformat 的结果:it_IT
. 本地结果是“2010 年 4 月 12 日,15:46:00”。但是在 TravisCI 实例上,它以一种对我来说没有意义的方式进行了更改。看这里:
如您所见,生成的字符串类似,但添加了这些/
s。我不确定为什么会发生这种情况。任何人的想法?
2016 年 10 月 28 日更新
经过大量测试以尝试重现 travis 实例上发生的不同日期格式输出,我无法重现此问题。我尝试了以下方法:
before_install
通过将以下内容添加到脚本中,显式设置 travis 实例的语言环境:sudo locale-gen "en_US.UTF-8"
sudo update-locale
sudo dpkg-reconfigure locales我启动了 Travis Trusty Tahr 机器应该基于的 ec2 实例(请参见此处),并尝试安装所需的一切并运行我的测试。没有错误!
我尝试将我的开发机器语言环境设置为 travis 实例上设置的语言环境。再次,没有错误!.
我尝试了一个不同的语言环境,只是想看看它是否可能与那个特定的语言环境有关,但得到了另一个异常:
因此,此时似乎可能是区域设置以外的其他原因导致输出不正确。
python - 在mac上安装pyicu;找不到 -licule 的库
我在我的 Mac 中安装 pyicu 时遇到了一些困难。我第一次遇到这个问题,那是我解决的。但现在安装出现以下错误:
那么,这个 licule 是哪个图书馆?
python - 由于 'icu-config' 无法安装 pyicu
但是,当我执行 pip3 install pyicu 时,出现此错误
我想这是因为我没有正确设置 icu-config 的路径。我认为以下两个可能是 icu-config 文件。
但是,我不知道如何设置它的路径。此外,我不知道为什么在教程可以顺利运行时出现此错误。
pypi - Python Packaging Fix:了解 Wheel 和 Egg 的区别;如何让更广泛的受众获得本地修复?
我试图理解为什么 easy_installpyicu
有效而pip install
无效(见下文)。还试图理解“带有通用轮子的 PyPi 项目和没有通用轮子的项目有什么区别?” 安装会“更容易”吗?如果是这样,这个合并请求会解决多语言未安装在 Anaconda 机器上的问题吗?
需要有关如何最好地解决与底层依赖项相关的 python 项目安装问题的帮助/建议/解决方案。我在 GitHub Gists 中有两个本地修复程序,但想知道将这个修复程序“放在那里”的最佳方式,以便像我这样的人可以找到它。什么是正常的 Python 社区方法?问题集中在三个项目上:
- polyglot - python 多语言 NLP 工具包
- pyicu - 包装 IBM 用于 Unicode C++ 库 (ICU) 的国际组件的 Python 扩展。
- pycld2 - 由 Dick Sites 维护的 CLD(紧凑语言检测)库
目标:
- 在运行 Python Anaconda Distribution 的 MacOSX 计算机上安装polyglot
- 将我找到的修复提供给所有人;发布了很多关于该问题的问题。
问题(很多):
- 核心 polyglot 依赖项 pyicu在您使用
pip install
. 发现您必须使用easy_install
它才能正确构建并在 MacOSX 上工作。如果你不使用easy_install
,你会得到: - polyglot需要 icu 54.1.1 才能在 Anaconda 中运行,但是...
- Homebrew 是 MacOSX 的安装工具
icu
,只安装 58.1 版本。那个版本太新了。旧的 stackoverflows 建议brew install icu4c
解决问题,但 Homebrew 的演变现在使该建议过时了。 - pyicu没有万向轮;但我创建了一个合并请求以将一个添加到
pyicu
. 解决此问题的唯一方法是使用此频道icu
的https://anaconda.org/ccordoba12/icu。conda install icu
不会工作,但这是正常conda
的做事方式。
* pycld2 - CLD(紧凑语言检测)成为一个问题,因为我在本地构建了 wheel 文件后,必须下载项目并在本地运行 setup.py install。必须有更好的方法来做到这一点吗?
我做了什么来解决问题(我应该做更多,接下来我应该做什么?)
- 创建了两个可以在运行 Python 2.7 或 Python 3.5 的 Anaconda 的 Mac 上成功安装 polyglot 的 Gists
- Python 2.7 修复
- Python 3.5 修复
- 创建了合并请求
pyicu
两个 Gist 修复程序都有效。但是,这个安装错误是否与车轮有关?如果我安装pyicu
了easy_install
,则安装有效。但是,与pip
,不是吗?
在 Python 社区中采取哪些步骤来修复它,以便人们可以找到解决方案或pip install
没有问题?
我做了一个测试,如果wheel
文件已构建,则 pip 可以正常工作。