▶ 자연과학/▷ Python

【Python】 파이썬 주요 트러블슈팅 [81-100]

초록E 2024. 6. 7. 15:05

파이썬 주요 트러블슈팅 [81-100]

 

추천글 : 【Python】  파이썬 목차 


 

81. AnnDataReadError: Above error raised while reading key '/layers' of type <class 'h5py._hl.group.Group'> from /.

 (package) 문제 상황 : scanpy.read_h5ad를 실행할 때 문제가 발생함

 (package) 해결 방법 : anndata 버전을 0.7.8에서 0.9.2로 향상 (ref)

 

 

82. KeyError: 'y'

(grammar) 문제 상황 : sc.pl.violin(adata, keys=celltype, groupby='annotation')을 할 때 문제가 발생 

(grammar) 원인 : adata.obs[celltype]가 NaN 값을 포함하는 경우 

 

 

83. 플롯 상에 한글 폰트가 안 보이고 ㅁㅁㅁ와 같이 보이는 경우

(grammar) 해결 방법

방법 1. 시스템 상에서 사용할 수 있는 폰트를 탐색하고, 한글 지원 폰트를 기본으로 지정 

 

import matplotlib.font_manager as font_manager

fonts = font_manager.findSystemFonts(fontpaths=None, fontext='ttf')
available_fonts = [font_manager.FontProperties(fname=font).get_name() for font in fonts]
print('Droid Sans Fallback' in available_fonts)
plt.rcParams['font.family'] = 'Droid Sans Fallback'

 

방법 2. 사용할 수 있는 폰트는 다음 코드로도 알 수 있음 

 

import matplotlib.font_manager as fm

# List available fonts
available_fonts = fm.findSystemFonts(fontpaths=None, fontext='ttf')

# Print the list of available fonts
for font in available_fonts:
    print(font)

 

방법 3. 폰트 파일인 .ttf 파일을 다운받고 해당 폰트 파일 경로를 기본 폰트로 지정 

 

import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager

# 폰트 파일 경로 지정 (예시: 운영체제 및 설치된 폰트 위치에 따라 다름)
font_path = 'NanumGothic.ttf'

# 폰트 속성 설정
font_prop = font_manager.FontProperties(fname=font_path)

# Matplotlib에 폰트 속성 적용
plt.rcParams['font.family'] = font_prop.get_name()

# 플롯 생성 예시
plt.figure()
plt.text(0.5, 0.5, '한글 표시 테스트', fontproperties=font_prop, fontsize=12)
plt.show()

 

 

84. ModuleNotFoundError: No module named 'jax.experimental.global_device_array'

 (package) 원인 : GlobalDeviceArray는 JAX version 0.4.1에서 deprecate 됐고, JAX version 0.4.7에서 사라짐 

 

 

85. OSError: cannot write mode I;16 as JPEG

(grammar) 문제 상황 : Image.open("input_image.tif").save('output_image.jpg', 'JPEG')를 실행할 때 오류가 남 

(grammar) 해결 방법 : Image.open("input_image.tif").save('output_image.png', 'PNG')로 하면 됨 (ref)

 

 

86. AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'

 (grammar) 문제 상황 : img = img.resize((256, 256), Image.ANTIALIAS)

 (grammar) 해결 방법 : img = img.resize((256, 256), Image.LANCZOS) 

 

 

87. FileExistsError: [Errno 17] JVM DLL not found: Define/path/or/set/JAVA_HOME/variable/properly

(package) 해결 방법  

 

sudo apt update
sudo apt install default-jdk
readlink -f $(which java)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 
export PATH=$JAVA_HOME/bin:$PATH

 

 

88. ModuleNotFoundError: No module named 'faiss'

(package) 해결 방법 : pip install faiss-cpupip install faiss-gpu 

 

 

89. ModuleNotFoundError: No module named 'PIL'

(package) 해결 방법 : pip install Pillow

 

 

90. AttributeError: 'Series' object has no attribute 'iteritems'

 (package) 해결 방법 Pandas 패키지 버전을 2.0.0 미만으로 변경 (ref)

 

 

91. SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Macros:')? [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip.

(package) 문제 상황 : pip install multiprocessing 

(package) 해결 방법 : multiprocessing 패키지는 Python 2.x에서 사용되던 버전이므로, Python 3.x 버전에서 multiprocessing 패키지를 설치하려고 하면 오류가 발생함

 

 

92. IndentationError: unindent does not match any outer indentation level

(grammar) 해결 방법 1 : 스페이스바로 통일하기 (ref)

(grammar) 해결 방법 2 : 코드에 새로 추가한 부분에서 에러가 자주 발생함. 이럴 때 기존 코드에서 동일한 들여쓰기를 가진 부분을 복사해서 새로 추가된 코드에 붙이면 문제가 해결될 수 있음

 

 

93. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. Segmentation fault (core dumped)

⑴ (system) 해결 방법 : export OPENBLAS_NUM_THREADS=4 명령어를 써서, 시스템 전체에서 OpenBLAS의 스레드 수를 제한

 

 

94. AttributeError: module 'pulp' has no attribute 'list_solvers'. Did you mean: 'listSolvers'?

 (package) 해결 방법 : pip install pulp==2.7 

 

 

95. Preparing metadata (setup.py) ... error error: subprocess-exited-with-error ... error in pysam setup command: use_2to3 is invalid ... note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

(package) 문제 상황 : pip install lapels을 할 때 에러가 발생

(package) 해결 방법 : Python 환경을 3.5 이하로 downgrade 

 

 

96. easy_install: command not found

(package) 해결 방법 : easy_installpip install로 변경됨 (ref)

 

 

97. 'str' object has no attribute 'decode'

(grammar) 해결 방법 : 단순히 .decode('utf-8') 부분을 지우기 (ref)

 

입력: 2024.06.07 15:03

수정: 2024.09.06 18:53