반응형
파이썬으로 윈도우 CPU/GPU 온도 가져오기 (Python get cpu temperature windows 10)

파이썬으로 윈도우 CPU/GPU 온도 가져오는 방법 입니다. 파이썬 3.9가 설치되어있는 환경을 기준으로 설명을 진행 합니다.

 

1. wmi 설치

아래 명령어를 사용해 wmi 모듈을 설치 해주세요.

pip install wmi

 

2. Open Hardware Monitor 설치

윈도우의 CPU/GPU 온도를 가져오기 위해 Open Hardware Monitor를 설치 해주어야 합니다. 아래 링크에서 설치 후 OpenHardwareMonitor.exe를 실행 해주세요.

다운로드 링크 : https://openhardwaremonitor.org/downloads/

* 재부팅 시 자동 실행이 안될 수 있으므로 Ctrl+R → shell:startup → 해당 폴더에 OpenHardwareMonitor.exe 파일 복사 붙여넣기 해주셔야 합니다.

 

3-1. CPU/GPU 온도 출력하기
import wmi

result=[]

w = wmi.WMI(namespace="root\OpenHardwareMonitor")
temperature_infos = w.Sensor()
for sensor in temperature_infos:
    if sensor.SensorType=='Temperature':
        temperature=(sensor.Name, sensor.Value)        
        if temperature[0].startswith("CPU"):            
        	result.append(temperature)
        elif temperature[0].startswith("GPU"):
            result.append(temperature)
print(result)

 

3-2. CPU/GPU 온도를 하나의 파일에 저장하기

아래 경로만 수정 해주시면 됩니다.

import wmi

w = wmi.WMI(namespace="root\OpenHardwareMonitor")
temperature_infos = w.Sensor()
for sensor in temperature_infos:
    if sensor.SensorType=='Temperature':
        temperature=(sensor.Name, sensor.Value)
        if temperature[0].startswith("CPU"):
            with open(r'D:\\Zabbix\temperature_CPU.txt', 'a') as file:
                file.write(str(temperature))
                file.write("\n")
        elif temperature[0].startswith("GPU"):
            result.append(temperature)
            with open(r'D:\\Zabbix\temperature_GPU.txt', 'a') as file:
                file.write(str(temperature))
                file.write("\n")

 

3-3. CPU/GPU 온도를 여러개의 파일로 저장하기 

아래 경로만 수정 해주시면 됩니다.

import wmi

cpu_count=0
gpu_count=0

w = wmi.WMI(namespace="root\OpenHardwareMonitor")
temperature_infos = w.Sensor()
for sensor in temperature_infos:
    if sensor.SensorType=='Temperature':
        temperature=(sensor.Name, sensor.Value)
        if temperature[0].startswith("CPU"):
            with open(r'D:\\Zabbix\temperature_CPU' + str(cpu_count) + '.txt', 'a') as file:
                file.write(str(temperature))
                file.write("\n")
                cpu_count+=1
        elif temperature[0].startswith("GPU"):
            result.append(temperature)
            with open(r'D:\\Zabbix\temperature_GPU' + str(gpu_count) + '.txt', 'a') as file:
                file.write(str(temperature))
                file.write("\n")
                gpu_count+=1

실행 결과

 

또는 아래와 같이 온도 부분만 짤라서 사용할 수 있습니다.

import wmi

result=[]
cpu_count=0
gpu_count=0

w = wmi.WMI(namespace="root\OpenHardwareMonitor")
temperature_infos = w.Sensor()
for sensor in temperature_infos:
    if sensor.SensorType=='Temperature':
        temperature=(sensor.Name, sensor.Value)
        if temperature[0].startswith("CPU"):
            with open(r'C:\\Zabbix\temperature_CPU' + str(cpu_count) + '.txt', 'a') as file:
                file.write(str(temperature)[-5:-1])
                file.write("\n")
                cpu_count+=1
        elif temperature[0].startswith("GPU"):
            with open(r'C:\\Zabbix\temperature_GPU' + str(gpu_count) + '.txt', 'a') as file:
                file.write(str(temperature)[-5:-1])
                file.write("\n")
                gpu_count+=1
반응형
반응형
  • CentOS7 장고 설치 및 가상 환경 셋팅하기

CentOS7에 장고 설치하는 방법 입니다.

 

  • 0) 사전 작업

참고로 저는 /var/venv/mysite 라는 디렉토리에 가상 환경을 생성 하려고 합니다.

# python 3.9 install
yum -y groupinstall 'Development Tools'
yum -y install zlib zlib-devel libffi-devel openssl openssl-devel wget
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
tar zxvf Python-3.9.1.tgz
cd Python-3.9.1
./configure
make && make install

# sqlite3.34 install
yum -y install gcc
wget https://sqlite.org/2021/sqlite-autoconf-3340100.tar.gz
tar zxvf sqlite-autoconf-3340100.tar.gz
cd sqlite-autoconf-3340100
./configure --prefix=/usr/local
make && make install

echo -e "/usr/local/sqlite/lib" > /etc/ld.so.conf.d/sqlite.conf
ln -sf /usr/local/sqlite/include /usr/local/include/sqlite
/sbin/ldconfig

## ~/.bashrc 설정파일에 아래 내용 추가 후 source 명령 실행
# export LD_LIBRARY_PATH=/usr/local/lib
source ~/.bashrc

 

  • 1) 가상 환경 만들기

아래와 같이 설정을 진행 해주세요.

mkdir /var/venvs
cd /var/venvs
python -m venv mysite

 

위의 명령을 모두 입력했다면 /var/venvs/mysite라는 디렉토리가 재대로 생성 되었다면, 아래 명령어로 가상 환경 진입이 가능 합니다.

source /var/venvs/mysite/bin/activate

 

가상 환경에서 나오고 싶다면 아래 명령어를 입력 해주시면 됩니다.

deactivate

 

  • 2) 장고 설치하기

pip를 사용하여 장고를 설치 해주시면 됩니다.

python -m pip install --upgrade pip
python -m pip install django

 

  • 3) 프로젝트 생성하기

저는 /var/venvs 경로에 그대로 프로젝트를 생성 했습니다. 가상 환경과 프로젝트는 동일한것이 아니기에 햇갈리시면 안됩니다.  가상 환경은 source /var/venvs/mysite/bin/activate 로 진입하되 다른 경로의 프로젝트에서 작업을 진행할 수 있습니다.

cd /var/venvs
source /var/venvs/mysite/bin/activate
django-admin startproject config .

 

  • 4) 프로젝트 실행하기

3번의 django-admin 명령을 사용 했다면, manage.py라는 파일이 생기신걸 확인할 수 있습니다. 아래 명령어를 사용하여 백그라운드로 실행 시킨 후 서버IP로 접근하면 아래 스크린샷과 같이 정상적으로 설치된 내용을 확인하실 수 있습니다.

* 참고로 127.0.0.1 또는 localhost로 접근 하셔야 합니다. 스크린샷에 나와있는것처럼 IP로 접근하기 위해서는 여기를 클릭해서 참고하여 설정을 진행 해주세요.

python manage.py runserver &

반응형
반응형
  • 파이썬 장고 외부 접속 허용하기 

파이썬은 초기 설정에는 127.0.0.1 또는 localhost로 접근이 가능하도록 되어 있습니다. 아래 내용을 따라 수정하여 외부 접근이 가능하도록 할 수 있습니다.

참고로 아래 1,2번 모두 수행 하셔야 외부에서 접근이 가능 합니다. 아래 내용들을 살펴본 후 자신의 환경이나 필요성에 따라 수정하여 사용하시면 됩니다.

 

  • 1) ALLOWED_HOSTS 수정하기

참고로 config/settings.py 파일은 장고에서 프로젝트를 생성한 디렉토리에 위치해있습니다.

vim config/settings.py

 

ALLOWED_HOSTS 필드가 비어 있으면 기본적으로 127.0.0.1, localhost 가 허용 된다고 합니다. ALLOWED_HOSTS = ['IP', 'aaa.com'] 등과 같이 여러개의 값으로도 넣을 수 있다고 합니다. (직접 테스트 해보지는 않았습니다.)

 

  • 2) django 실행 시 리슨할 아이피 대역 명시 하기

0:8000은 모든 IP, 그리고 포트는 8000으로 고정 시킨다는 의미 입니다. (&는 백그라운드 실행)

python manage.py runserver 0:8000 &

 

반응형
반응형
  • 파이썬 pip "SyntaxError: invalid syntax" 에러 해결 방법

파이썬 2.7 버전에서 pip 사용 시 "SyntaxError: invalid syntax" 에러가 발생할 때 해결하는 방법 입니다. 보통 pip install --upgrade pip 명령어를 사용 했을 때 발생할 수 있으며, 현재 python 2.7은 사용되지 않는 구버전이기 때문에 발생 합니다.

pip SyntaxError

 

해당 에러를 해결하기 위해서는 pip를 구버전으로 되돌려야 할 필요성이 있습니다. 아래 명령을 이용해 손쉽게 가능 합니다.

curl https://bootstrap.pypa.io/2.7/get-pip.py --output get-pip.py
python get-pip.py

 

반응형

+ Recent posts