iTerm2, 유니 코드 및 심피


6

필자의 Mac (OS X Mavericks)과 Ubuntu 머신에서 심볼릭 수학을위한 파이썬 라이브러리 인 sympy를 설치했습니다. 부분의 sympy 유니 코드 지원을 사용하여 명령 행 환경에서 심볼릭 표현을 미리 정하기 위해 유니 코드 문자를 사용하는 예쁜 인쇄 기능입니다. 예를 들어, 내 우분투 시스템과 gnome-terminal 다음 코드 실행

from sympy import *
x = Symbol("x")
pprint(Integral(sqrt(1/x), x)) 

~에 렌더링하다

enter image description here

그러나 iTerm2 (유니 코드를 지원해야 함)를 사용하는 OS X의 동일한 명령은

enter image description here

나는 사용하고있다. sympy 0.7.5 최신 빌드로 소스에서 만들었습니다. iTerm2 (빌드 1.0.0.20140518). 내가 여기서 그리워 하는게 있니? 리드 개발자 sympy는 StackExchange 네트워크 중 하나입니다. 이 것에 대한 그의 의견을 아는 것은 좋을 것입니다.


이 순간에 예제를 통해 live.sympy.org 유니 코드 오류가 많이 발생합니다. 가장 최근의 빌드에 일반적인 문제가 있습니까?
Asmus

@Asmus 유니 코드 오류 란 무엇을 의미합니까? 제대로 렌더링되지 않으면 브라우저 또는 사용중인 글꼴에 문제가있는 것입니다.
asmeurer

@asmeurer 위의 세 파이썬 라인을 브라우저 세션 (Safari)에 복사 & 붙여 넣기를 시도하고 다음과 같은 결과가 나타납니다. Exception in SymPy Live of type <type 'exceptions.UnicodeEncodeError'> [. . . ] UnicodeEncodeError: 'ascii' codec can't encode character u'\u2320' in position 0: ordinal not in range(128). 원한다면 나는 전체 오류 출력을 보낼 수 있습니다.
Asmus

@Asmus 당신이 열 수 있다면 발행물 그것을 위해 그것은 위대 할 것입니다. 나는 그것을 스스로 재현 할 수 없다.
asmeurer

@asmeurer 이제 문제가 될 수 있습니다. 여기에서 발견
Asmus

답변:


5

마침내 문제가 무엇인지 알게되었습니다. 문제는 아니 터미널 에뮬레이터 자체를 OSX TerminaliTerm2 사용하고 있었다 UTF-8 기본적으로. 터미널이 유니 코드를 처리 할 수 ​​있다는 것을 파이썬에 명시 적으로 알려줘야한다는 것이 밝혀졌습니다

export PYTHONIOENCODING=utf-8

~에 대한 크레딧 stackoverflow 대답.


재미있는, 나는이 환경 변수에 대해 들어 본 적이 없다. 파이썬 3에서 더 잘 처리되는 상황인지 궁금합니다.
asmeurer

1
이것은 나를 위해 작동하지 않았다. 파이썬 3이 작동하기를 기대했지만 파이썬 3을 시도해 보았습니다.
Jagtesh Chadha

0

iTerm 환경 설정에서 터미널을 확인하십시오 - & gt; 프로필 - & gt; 터미널은 유니 코드를 지원합니다 (문자 인코딩은 "유니 코드 (UTF-8)"이어야합니다.) 터미널이 유니 코드를 지원한다고보고하지 않으면 SymPy가 ASCII를 선택합니다.


답장을 보내 주셔서 감사합니다. 나는 그것이 문제가 아닌가 걱정된다. iTerm2 및 터미널에서 UTF-8 문자 인코딩으로 작동하지만 작동하지 않습니다.
Pouya
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.