問題タブ [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 シェルで動作しますが、Web サーバーでは動作しません
ステージング サーバーで ICU の Collator 属性にアクセスしようとすると、このエラーが発生します。
Django のシェルを起動してまったく同じコードを実行すると、すべてがローカルと同じように機能しているように見えます。エラーの原因となっているコードは次のとおりです。
Ondrej の PHP5 PPAと PyICU を使用して、ICU ( libicu52, libicu-dev
) をローカルとステージング サーバーの両方に正常にインストールしました。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 のシェルでは正常に機能しているのに、Web サーバー経由では機能していない理由は何でしょうか?
linux - centosにpyICUをインストールするGCCエラー
Centos に polyglot ライブラリをインストールする際に問題が発生しました。pyICU のビルドが gcc 終了コード 1 で失敗します。
Web を見回しましたが、有用なリソースはあまり見つかりませんでした。
次のパッケージがシステムにインストールされます。
- ピップ 8.0.2、
- CentOS リリース 6.6 (最終版)、
- gcc 4.4.7、
- libicu-devel 4.2.1
- python-devel 2.6.6
- libevent-devel 1.4.13
ログ:
助けていただければ幸いです。
python - Python は、指定された sortKey 関数を使用してオブジェクト/辞書のリストを並べ替えます
(ここでは Python 2 を使用しています)
私は辞書のリストを持っています
'name'
そのリストを属性でソートしたいと思います。これは簡単に行うことができます:
ここで、Python のアルファベット順のソートは ASCII 駆動であるため、結果は次のようになります。
私はエディプスがクレオーンとトールの間にあることを望みます.
この提案に従って、PyICU のcollator.getSortKey()
関数を使用します (読みやすいように名前を変更しましょう)。これは、文字列sortKey()
のリストに対して次のように機能します。strings
ここでの私の問題:sortKey()
とにかく関数を変更できないため、それを使用して、属性に従ってより複雑なオブジェクト (ここでは辞書) のリストをソートするにはどうすればよいですか?
現時点で私が見つけた唯一の方法は、辞書の値を別のリストに抽出してソートし、別のリストのとcompare(a, b)
のインデックスに応じて -1、0、または 1 を返すカスタム関数を実装し、次のように呼び出すことです。この機能:a
b
sort()
compare()
これはあまりエレガントではありません。
python - ICU の出力が 2 つのマシンで異なるのはなぜですか?
Flask 用の i18n ライブラリ ICU (および PyICU) へのインターフェイスに取り組んでいます。私のテスト スイートには、さまざまなロケール設定の出力をチェックするテストがあります。私が抱えている問題は、ローカルでテストが成功するのに対し、テストも実行される TravisCI インスタンスでは失敗することです。
理由?ICU からの出力は、2 つのマシンで明らかに異なります。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 ロケールTravis Trusty Tahr マシンの基になっていると思われる ec2 インスタンスをスピンアップし (こちらを参照)、必要なものをすべてインストールしてテストを実行してみました。エラーなし!
開発マシンのロケールを travis インスタンスに設定されているものに設定しようとしました。繰り返しますが、エラーはありません! .
おそらくその特定のロケールと関係があるかどうかを確認するために、別のロケールを試しましたが、別の異常が発生しました。
したがって、この時点では、ロケール設定以外の何かが間違った出力を引き起こしている可能性があります。
python - Mac に pyicu をインストールします。-licule のライブラリが見つかりません
私のMacにpyicuをインストールするのに苦労しています。私は最初にこの問題を抱えていました。つまり、解決しました。しかし、現在、インストールで次のエラーが発生しています。
それで、このリキュールはどの図書館ですか?
python - 「icu-config」が原因で pyicu をインストールできません
このリンクに従って、MacにPython 3.5用のpyicuをインストールしようとしてい ます https://struggley.wordpress.com/2015/07/14/installation-pyicu-on-mac-osx-yosemite/
しかし、 pip3 install pyicu を実行すると、このエラーが発生しました
icu-config のパスを正しく設定しなかったことが原因だと思います。次の 2 つが icu-config ファイルではないかと思います。
ただし、パスを設定する方法がわかりません。また、チュートリアルがスムーズに進むのに、なぜこのエラーが発生したのかわかりません。
pypi - Python Packaging Fix: Wheel と Egg の違いを理解する。より多くの視聴者にローカル フィックスを提供する方法は?
easy_install がpyicu
機能する理由とpip install
機能しない理由を理解しようとしています (以下を参照)。また、「ユニバーサル ホイールを使用する PyPi プロジェクトと使用しない PyPi プロジェクトの違いは何ですか?」を理解しようとしています。インストールは「簡単ですか?」もしそうなら、このマージ リクエストは、多言語が Anaconda マシンにインストールされないという問題を解決しますか?
基礎となる依存関係に関連する python プロジェクトのインストールの問題を最適に解決する方法について、ヘルプ/アドバイス/解決策が必要です。GitHub Gists に 2 つのローカル修正がありますが、私のような人が見つけられるように、この修正を「公開」する最善の方法を知りたいです。通常の Python コミュニティのアプローチとは何ですか? 問題は、次の 3 つのプロジェクトに集中しています。
- polyglot - Python 多言語 NLP ツールキット
- pyicu - IBM の International Components for Unicode C++ ライブラリ (ICU) をラップする Python 拡張機能.
- pycld2 - Dick Sites が管理する CLD (コンパクト言語検出) ライブラリ
目標:
- Python Anaconda Distribution を実行している MacOSX コンピューターにpolyglotをインストールする
- 私が見つけた修正をすべての人が利用できるようにします。問題について公開された多くの問題。
問題(たくさんあります):
- コア ポリグロット依存関係であるpyicuは、 を使用すると正しくインストールされません
pip install
。easy_install
適切にビルドして MacOSX で動作させるために使用する必要があることがわかりました。を使用しない場合はeasy_install
、次のようになります。 - polyglotを Anaconda で実行するには icu 54.1.1 が必要ですが...
- インストールする MacOSX ツールである Homebrew は、バージョン 58.1
icu
のみをインストールします。そのバージョンは新しすぎます。古いスタックオーバーフローは問題を修正するようにアドバイスしていますが、Homebrew の進化により、そのアドバイスは現在では時代遅れになっています。brew install icu4c
- pyicuにはユニバーサル ホイールがありません。に追加するマージ リクエストを作成しました
pyicu
。これを修正する唯一の方法は、このチャネルのicu
https://anaconda.org/ccordoba12/icuを使用することです。conda install icu
うまくいきませんが、それが通常のconda
やり方です。
* pycld2 - ホイール ファイルをローカルでビルドした後、プロジェクトをダウンロードして setup.py install をローカルで実行する必要があるため、CLD (コンパクト言語検出) が問題になります。これを正しく行うためのより良い方法が必要ですか?
問題を解決するために何をしたか (もっとやるべきか、次に何をすべきか)
- Python 2.7 または Python 3.5 用の Anaconda を実行している Mac に polyglot を正常にインストールできる 2 つの Gist を作成しました。
- Python 2.7 の修正
- Python 3.5 の修正
- のマージリクエストを作成しました
pyicu
どちらの Gist 修正も機能します。しかし、インストール時のこのエラーはホイールに関係しているのでしょうか? でインストールpyicu
した場合easy_install
、インストールは機能します。しかし、pip
そうではありませんか?
人々が解決策を見つけられるように、または問題なく解決できるように、Python コミュニティで修正する手順は何pip install
ですか?
テストを行ったところ、wheel
ファイルがビルドされていれば、pip は問題なく動作します。