0

実行OS X 10.6.8 Snow Leopard中スカンジナビアの文字を解釈モードに入力できません。キーを押すたびにターミナルベルが鳴り、何も表示されません。通常の端末環境では、すべての文字が通常どおり表示されます。UTF8文字の入力は、ターミナル、Pythonスクリプトの実行時、PyDev、およびREPLで正常に機能します。

インタラクティブモードの設定とこれらの特殊文字に問題はありますか?

私は2.7.3主にPythonをインストールして実行していますが、OSが提供するPythonにもこの問題があります。(つまり、実行中python2.5、またはpython2.6まだこの問題が発生します。)python 2.7をインストールすると、使用するライブラリの下で変更があったかどうかわかりませんreadline(基本的には、ここでは薄い氷の上にいます)。

4

3 に答える 3

2

ここでの問題は、python.org Pythonが本物を期待しており、Appleが提供する代替品readlineに満足していないことのようです。libedit

readlineこの問題の説明については、PyPIのドキュメントを参照してください。

次のように修正できます。

sudo /path/to/easy_install readline

これreadlineは、によって正しくインストールできない数少ないものの1つであるpipため、使用するeasy_install(または手動で行う)必要があることに注意してください。

python.org2.xインストーラーにはが付属していませんeasy_install。ページの指示に従ってインストールしてsetuptoolsください。

その上、場合によっては、Apple-pythoneasy_install/usr/local/bin含まれることもあります。つまり、バージョンを取得/usr/binできるかどうかわからないため、明示的にを使用してください。/usr/local/bin/easy_installpython.orgeasy_install-X.Y

そして、Appleがすでに提供しているXYバージョンのpython.org(または他の)インストールを使用している場合でも、それは役に立ちません。/usr/local/bin/easy_install-2.7Appleのものかもしれません(私が今座っている10.8.2マシンにあるように)。安全を確保する唯一の方法は、シバンラインをチェックして、使用しているPythonインタープリターを確認することです。

または、もっと簡単に言えば、Appleがすでにpython-XYを提供している場合は、python-XYをインストールしないでください。真剣に、これを行って問題を抱えている人々からSO全体に何百もの質問があり、それらはすべてAppleビルドを使用するだけで回避できます。Appleは、壊れた、不完全な、またはひどく時代遅れのPythonを出荷していましたが、10.5または10.6以降、動作する、完全な、かなり最近のバージョンを出荷してきましeasy_installPyObjC

于 2013-02-01T08:34:24.457 に答える
1

10.6には付属していない2.7.3を使用しているので、明らかにサードパーティのPythonをインストールしています。

「MacOSX10.6および10.7用のMacOSX64ビット/32ビットx86-64/i386インストーラー(2.7.3)」インストーラーのPython 2.7.3のダウンロードページを見ると、次のようになっています。

IDLEを実行したり、Tkinterを使用したりするには、更新されたTcl/Tkインストールが必要になる場合があります。手順については注2を参照してください。

注2の下:

Mac OS XのIDLE、Tkinter、およびTcl/Tkに関する重要な情報がここにあります。また、Mac OS X 10.6では、32ビットのみのPythonがインストールされたC拡張モジュールをビルドする必要がある場合は、4ではなくAppleXcode3が必要になります。64ビット/32ビットPythonはXcode3のいずれかを使用できますまたはXcode4。

リンクをたどると、10.6に付属していたバージョンのTcl/Tkの問題が説明されています。下のグラフでは、Apple8.5.7は特に推奨されていないことに注意してください。

10.6でApple以外のPythonでIDLEを使用する場合は、チャートでActiveTcl8.5.13をインストールすることをお勧めします。

このページでは問題が何であるかを正確に説明していませんが、私が正しく覚えていれば、TkInterが特定の状況で非ASCII文字を受信すると、AppleのTkがクラッシュしていました。彼らが考えた、IDLEの最善の回避策は単に拒否することでした。あなたが見ているのとまったく同じように、それらの文字。

別のPython2.7.3(Enthought、ActiveState、Homebrew、MacPorts、手作りなど)を使用している場合、ほとんどの場合、この問題に関する完全なドキュメントはありませんが、同じ修正がおそらく機能します。

10.6は、Appleが適度に最新のPythonバージョンと動作するIDLEの出荷を開始したときでもあると思います。したがって、そもそもサードパーティのPythonの代わりにそれを使用することをお勧めします。(ただし、私は覚えていない可能性があり、それは10.7以降でのみ当てはまる可能性があります。)

于 2013-01-28T11:27:32.417 に答える
1

「トルコ語の特殊文字(非ASCII)のutf-8コードポイントを定義/宣言して標準のutf-8エンコーディングとして使用するにはどうすればよいですか?」で説明したのとほぼ同じ問題があります。比較的異なる文字コードとコードポイントを持つ独自のAですが、すべてのAは同じフォントコードを指します。したがって、任意の言語でAを表示する場合、フォントコードを使用しますが、すべてのAはアルファベットのどの文字よりも小さくなりますが、ASCIIはŞşÇçÖöまたはアクセント付き文字よりも小さくなることはありません。

于 2013-02-08T00:19:29.320 に答える