2023년 7월 31일 월요일

우분투 18.04 LTS 에서 기본 파이썬 버전 설정

우분투 기본 파이썬 버전은 3.6.1이다.

버전을 올리려면 apt로는 아무리해도 안된다. 꾸역꾸역 하다가 OS 망가져서 우분투 새로 설치함.

소스를 받아서 빌드를 하라고하는데 자칫하면 우분투 새로설치해야할지도 몰라 안함.


*** 아래에 따라 파이썬 버전 변경하면 터미널이 안열리게 됨.

sudo update-alternatives --config python3 # ==> 실행해서 원래버전으로 변경하면 실행됨



그냥 아나콘다가 설치해주는 상위버전(3.11)이 있으니 기본 파이썬 실행 위치를 설정하면 된다.


# anaconda 가 설치 되어 있어야한다.

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

sudo update-alternatives --install /usr/bin/python3 python3 /home/hanson/anaconda3/bin/python3.11 2


# 아래 명령어 실행 하면 기본 파이썬 버전을 선택할 수 있다.

sudo update-alternatives --config python3


# 버전확인

python3 -V

2022년 9월 25일 일요일

Setting Korean fonts for Matplotlib on Ubuntu 18.04-LTS

** 참고사이트 : https://hooni-playground.com/961/

** 참고도서 : 파이썬을 활용한 금융공학 레시피

# 폰트설치

$ sudo apt-get install fonts-nanum*


# 캐시삭제

$ fc-cache -fv


# 주피터 노트북에서 확인

>>> import matplotlib

>>> matplotlib.__file__

'/home/xxxxxx/anaconda3/envs/quant/lib/python3.9/site-packages/matplotlib/pyplot.py'

# 위 '/site-pakages/' 이전 절대경로를 복사해서 아래 폰트 설치될 경로에 맞게 수정해서 명령어 실행.

$ cp /usr/share/fonts/truetype/nanum/Nanum* /home/xxxxxx/anaconda3/envs/quant/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/


# Matplotlib 폰트 캐시 삭제

$ rm -rf ~/.cache/matplotlib/*


# 주피터 노트북 및 아나콘다 종료 후 재실행해야 설치한 폰트 목록이 출력됨.

>>> from matplotlib import font_manager

>>> set(sorted([f.name for f in font_manager.fontManager.ttflist]))


# Matplotlib에 폰트 설정.

>>> plt.rcParams['font.family'] = 'NanumGothicCoding'

>>> plt.rcParams['font.size'] = 12

>>> plt.rcParams['axes.unicode_minus'] = False

2022년 6월 19일 일요일

[VS Code on Ubuntu] To install Mono-dev

 sudo apt install gnupg ca-certificates

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68980A0EA10B4DE8

echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list

sudo apt update

sudo apt install mono-devel

UBuntu 18.04 LTS / NVIDIA 470 / CUDA 11.4 / cuDNN8.2.4

# 한 사이트 참고해서 환경 설정하기 힘들어서 내 환경에 맞게 짜깁기한 내용임.

# 참고 사이트는 아래에 있음.

# 설치

# NVIDIA 460, CUDA 11.2, cuDNN 8.1

https://webnautes.tistory.com/1428

https://velog.io/@cychoi74/%EC%9A%B0%EB%B6%84%ED%88%AC-18.04-NVIDIA-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84-%EC%84%A4%EC%B9%98

# NVIDIA 470, CUDA 11.4, cuDNN 8.2

https://lapina.tistory.com/m/131

# 삭제

https://settembre.tistory.com/447


# Blacklist 추가

# Ubuntu 그래픽 드라이버로 설치되는 Nouveau Driver와 충돌 할 수 있어서 로딩되지 않게 해야 함.

$ sudo nano /etc/modprobe.d/blacklist-nouveau.conf

(ctrl+o 저장, ctrl+'x 종료)

blacklist nouveau

options nouveau modeset=0


# 혹은 터미널 환경이면

$ sudo vi /etc/modprobe.d/blacklist-nouveau.conf

# i키 누르고 아래 내용 입력

blacklist nouveau

options nouveau modeset=0

# esc키 ":wq" 입력 후 엔터


# 저장 후 재부팅

$ sudo update-initramfs -u

$ sudo reboot


# gdm 서비스 종료

$ service gdm status

$ service gdm stop


# DisplayManager 비활성화 및 활성화. 

# 첫번째 명령어 치면 커맨드 화면으로 가버림. 

# 당황하지 말고 두번째 명령어 치면 다시 돌아옴.

$ systemctl isolate multi-user.target

$ systemctl start graphical.target



# 그래픽카드 정보 확인

$ ubuntu-drivers devices

# 470에 cuda 11.4 설치해도 됨.



# APT로 설치하는 방법

repository 추가

$ sudo add-apt-repository ppa:graphics-drivers/ppa

$ sudo apt update



# 드라이버 설치

$ sudo apt-get install nvidia-driver-470

# cuda 11.4가 같이 설치되지만 /usr/local/ 에 보이지 않음. 수동으로 다시 설치.



# CUDA Toolkit 11.4 Update 4

$ wget https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run

$ sudo sh cuda_11.4.4_470.82.01_linux.run


# 환경 추가

sudo sh -c "echo 'export PATH=$PATH:/usr/local/cuda-11.4/bin' >> ~/.bashrc"

sudo sh -c "echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64' >> ~/.bashrc"

sudo sh -c "echo 'export CUDADIR=/usr/local/cuda-11.4' >> ~/.bashrc"

source ~/.bashrc


# 설치 확인

$ nvcc -V


# cuDNN 8.2.4

https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.2.4/11.4_20210831/cudnn-11.4-linux-x64-v8.2.4.15.tgz


$ tar xvzf cudnn-11.4-linux-x64-v8.2.4.15.tgz

$ cd cudnn-11.4-linux-x64-v8.2.4.15

sudo cp cuda/include/cudnn* /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda-11.4/include/cudnn.h /usr/local/cuda/lib64/libcudnn*


# 링크 다시 걸어줌.

sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_train.so.8;

sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.4  /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8;

sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.4  /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8;

sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.4  /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8;

sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.4  /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_train.so.8;

sudo ln -sf /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.4 /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8;

sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn.so.8.2.4  /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn.so.8


$ sudo ldconfig


여기서 Error메시지 발생한다면 아래 링크 통해 해결

https://lapina.tistory.com/130


$ ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn


# 아래와 같이 나와야 함.

libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.2.4

libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.2.4

libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.2.4

libcudnn.so.8 -> libcudnn.so.8.2.4

libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.2.4

libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.2.4

libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.2.4


# anaconda3(python 3.9) 초기화 안될때

$ source ./anaconda3/bin/activate

# .bashrc에 초기화 스크립트 추가됨.

$ conda init


# 아나콘다 가상환경 실행안될 때

# 쉘에서 환경 생성할때 아래 오류 나오면 해당 경로 권한 변경


NoWritableEnvsDirError: No writeable envs directories configured.

  - /home/username/.conda/envs

  - /home/username/anaconda3/envs


$ chown -R username:username /home/username/.conda

$ chown -R username:username /home/username/anaconda3


# Nvidia driver 완전 삭제

$ sudo apt-get purge nvidia*

$ sudo apt-get autoremove

$ sudo apt-get autoclean


# CUDA 완전 삭제

$ sudo rm -rf /usr/local/cuda*

$ sudo apt-get --purge remove 'cuda*'

$ sudo apt-get autoremove --purge 'cuda*'


# 확인

$ sudo dpkg -l | grep nvidia

이때 아무것도 안나오면 다 삭제된것이고 아니라면

$ sudo apt-get remove --purge 지울이름.


마찬가지로 다음 명령어를 입력해본다.

$ sudo dpkg -l | grep cuda

이때 아무것도 안나오면 다 삭제된것이고 아니라면

$ sudo apt-get remove --purge 지울이름


# 아나콘다

https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh

2021년 11월 20일 토요일

Tweak Ubuntu 18.04 LTS

 #우분투 소프트웨어

gnome-tweak 검색 => "기능개선" 프로그램 설치


# 즐겨찾기 등록 프로그램

sudo apt install alacarte


# 아나콘다 가상환경 자동 실행 끄기

conda config --set auto_activate_base false


# 즐겨찾기 프로그램에서 아나콘다 아이콘 추가 위치

/home/abc/anaconda3/lib/python3.7/site-packages/anaconda_navigator/static/images/anaconda-icon-256x256.png