태그 보관물: tip

Orange3 Text Add-On 추가할 때 빌드오류

Orange3에 Text Add-on을 추가하는 도중 SciPy를 빌드하려 시도하는데 오류가 발생한다. Fortran을 비롯한 의존성이 만족되지 않아서 발생하는 문제인데 여러건의 빌드 오류를 피하려면 SciPy의 Building from Source를 참고해서 필요한 패키지를 미리 설치해 줄 수 있다. ArchLinux의 경우 필요한 패키지는 다음과 같다.

sudo pacman -S gcc-fortran openblas pkgconf base-devel python-setuptools

그리고 나서 필요한 Python package를 설치해주고 재실행한다.

pip install Cython Orange3-text

의존성있는 패키지 중 하나인 gensim은 최신 버전인 4.3.3과 Python3.13의 호환성 문제로 2025년 10월 현재 Python3.13에서 빌드되지 않는다. 그래서 yay로 3.12를 설치하고 가상환경을 새로 만들어서 설치를 진행해 주었다.

OS: ArchLinux
Python: 3.12
PyQt5: 5.15.11
PyQtWebEngine: 5.15.7
scipy: 1.13.1
gensim: 4.3.3
Orange3: 3.39
Orange3-Text: 1.16.3

그나저나 “Fortran이라니, 되게 오래된 코드에 의존성이 있는 건가?”하고 살펴봤더니 은퇴는 커녕 OOP까지 지원하면서 Modern Fortran이라는 이름으로 고성능컴퓨팅(HPC)에서는 짱짱한 현역으로 뛰고 있었다. Workgroup의 활동을 보면 2020년대에 2023에 이은 두번째 표준안을 준비하고 있는 모양이다.

복붙의 함정, 디렉토리를 삭제할 수 없다?

매우 간단한 디렉토리 생성 명령어가 의도대로 동작하지 않고 실패했다. 왜 일까?

ls 명령어의 결과를 보면 알 수 있는데, 부모 디렉토리를 생성하는 -p 옵션이 동작하지 않고 디렉토리로 생성되어 버렸다. 그 다음으로 존재하지 않는 ~/docker/shared 디렉토리를 생성하려고 했으니 명령어가 실패한 것이다.

mkdir 명령어는 사실 어딘가에서 복사 붙여넣기 한 것인데, 이렇게 잘 못 생성된 디렉토리는 왠만해서 삭제가 되지 않는다.

rm -r "./-p"
rm -r -- "./-p"

그 이유는 -p에 붙어 있는 -가 ASCII가 아닌 Unicode U+2013이기 때문인데, 이를 삭제하려면 LC_ALL=C를 앞에 붙여서 임시로 Locale을 변경해 8진수로 표시되는 Unicode 값을 확인하고 그 이름으로 명령어를 입력 하면된다.

rm -r -- ''$'\342\200\223''p'

Visual Studio Code test explorer에서 explorer로 변경되는 문제

최근 업데이트(1.65.2) 이후 부터 였던 것 같은데 VSCode의 test explorer에서 테스트를 실행하면 자꾸만 explorer로 자동 변경되는 문제가 생겼다.

이 문제는 새롭게 생긴 설정인 testing.openTesting을 neverOpen으로 변경해 주면 해결된다.

{ // settings.json
   ...
    "testing.openTesting": "neverOpen"
}

또는

Setings -> Features -> Testing -> Testing: Open Testing

왜 이런 짓을??

정보의 바다에서 이와 관련해 의견을 나눈 기록을 찾았는데 Switching to test explorer when users clicks ‘run tests’에 따르면 커스터머 인터뷰 중에 IntelliJ에 구현된 이와 관련된 유사한 기능이 요청된 모양이다. 다행히도 이 기능이 VSCode에서는 오히려 불편하기만 할꺼라는 의견을 가진 사람 덕분에 option으로 빠지게 되었는데 default 값은 이 기능이 동작하는 openOnTestStart로 되어 버렸다. 변경 사항에 관련된 ticket은 여기에서 찾을 수 있다.