Vine Linux バグトラッキングシステム

課題の詳細を表示 コメントにジャンプ ] 課題の履歴 ] 印刷 ]
IDプロジェクトカテゴリ登録日最終更新
0000806Vine Linux1 バグ2009-10-29 10:372010-01-20 13:00
報告者anonymous 
担当者 
優先度再現性不明 
状態完了解決状況却下 
バージョン5.0 
修正予定バージョン修正済バージョン 
概要0000806: pythonのhelp()で画面が乱れます。
説明pythonのhelp()でスクリプト中にutf-8漢字があるときの現象です。

ただいまpythonスクリプトの学習中です。
で、その教材として
http://www.okisoft.co.jp/esc/python/iron-python-intro.html [^]
を参考にしました。

環境はwindows2000sp4+putty->サーバー扱いのvine5
コマンドラインのみの環境です。

記事中にあるmy_test.pyをカレントに作り
import my_test
ここまでは問題なし。
help(my_test.factorial)

help(my_test)
を実行でputtyが変になります。
help(my_test.factorial)

    else: doc(request, 'Help on %s:')
  File "/usr/lib/python2.5/pydoc.py", line 1479, in doc
    pager(title % desc + '\n\n' + text.document(object, name))
  File "/usr/lib/python2.5/pydoc.py", line 1297, in pager
    pager(text)
  File "/usr/lib/python2.5/pydoc.py", line 1317, in <lambda>
    return lambda text: pipepager(text, 'less')
  File "/usr/lib/python2.5/pydoc.py", line 1338, in pipepager
    pipe.write(text)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 100-102: ordinal not in range(128)
でハングアップ
puttyのセッションからやり直し

help(my_test)
はlessと似た反応で終了させると
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/site.py", line 346, in __call__
    return pydoc.help(*args, **kwds)
  File "/usr/lib/python2.5/pydoc.py", line 1643, in __call__
    self.help(request)
  File "/usr/lib/python2.5/pydoc.py", line 1687, in help
    else: doc(request, 'Help on %s:')
  File "/usr/lib/python2.5/pydoc.py", line 1479, in doc
    pager(title % desc + '\n\n' + text.document(object, name))
  File "/usr/lib/python2.5/pydoc.py", line 1297, in pager
    pager(text)
  File "/usr/lib/python2.5/pydoc.py", line 1317, in <lambda>
    return lambda text: pipepager(text, 'less')
  File "/usr/lib/python2.5/pydoc.py", line 1338, in pipepager
    pipe.write(text)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 267-269: ordinal not in range(128)
となってます。
このあと、^Dでpython終了でコマンドラインのエコーバックが無くなります。
puttyのセッションからやり直し

どちらもスクリプト中から漢字をアルファベットに変更すると正規の表示になってます。

-----------------------------------------------------------------------------------------------
*これがvine4.2の接続では、utf-8無しでアルファベットでも
importの時点で
__main__:1: DeprecationWarning: Non-ASCII character '\xa4' in file my_test.py on line 6, but no encoding declared; see http://www.python.org/peps/pep-0263.html [^] for details
となります。
lessではスクリプトの表示に問題なしでした。
タグ設定されていません。
archx86
パッケージなし
添付ファイル

- 関連

-  コメント
(0003501)
anonymous (参照)
2009-10-29 10:54

> *これがvine4.2の接続では、utf-8無しでアルファベットでも
> importの時点で
> __main__:1: DeprecationWarning: Non-ASCII character '\xa4' in file
> my_test.py on line 6, but no encoding declared; see
> http://www.python.org/peps/pep-0263.html [^] for details
> となります。
> lessではスクリプトの表示に問題なしでした。
すみません。vine4.2の報告は間違いでした。
utf-8無しの漢字無しで
help(my_test)
help(my_test.factorial)
双方正規の表示です。
漢字を使うと
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "my_test3.py", line 6
    "factorial(n) -> n あ"
                            ^
SyntaxError: invalid syntax
となるようです。
(0003502)
anonymous (参照)
2009-10-29 11:06

> 漢字を使うと
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "my_test3.py", line 6
> "factorial(n) -> n あ"
> ^
> SyntaxError: invalid syntax
> となるようです。
すみません。
スクリプトの先頭encodeを
euc-jpだと全く問題なく漢字も使えました。
vine4.2だと全く問題無いです。
vine5の方宜しくお願いします。
(0003503)
anonymous (参照)
2009-11-11 11:09

試しに
Puttyではなくvine5.0のデスクトップからコマンドラインで、
及びubuntu9.10のデスクトップからコマンドラインで、
(ubuntu9.10はpython2.6で)同じ操作をやってみたところ、
コード中に漢字があると
help(my_test)だとコマンドラインがそれぞれフリーズ
help(my_test.factorial)だと~dとqでコマンドラインに復帰
全く同じ結果になりました。
コード中に漢字が無いと正常出力です。
これって、vineではなく本家pythonそのものの問題なのでしょうか。
(0003504)
anonymous (参照)
2010-01-02 00:50

pythonのドキュメントで知りました。
utf-8正式対応って3.0からだそうですね。
騒いで申し訳ありません。
(0003505)
kazutaka (開発者)
2010-01-20 13:00

> pythonのドキュメントで知りました。
> utf-8正式対応って3.0からだそうですね。

報告ありがとうございます。

特に不具合ではない(仕様通り?)のようですので、とりあえず
却下として閉じておきます。

ハラダ

- 課題の履歴
変更日 ユーザー名 項目 変更内容
2009-10-29 10:37 anonymous 新規課題
2009-10-29 10:54 anonymous コメント追加: 0003501
2009-10-29 11:06 anonymous コメント追加: 0003502
2009-11-11 11:09 anonymous コメント追加: 0003503
2010-01-02 00:50 anonymous コメント追加: 0003504
2010-01-20 13:00 kazutaka 状態 新規 => 完了
2010-01-20 13:00 kazutaka 解決状況 不明 => 却下
2010-01-20 13:00 kazutaka コメント追加: 0003505


Copyright © 2000 - 2024 MantisBT Team
Copyright © 2012 - 2024 Project Vine
Powered by Mantis Bugtracker