Tag Archives: python

라즈베리 파이에 Python 3.7.2 설치

라즈베리 파이에는 Python 3.5.3이 설치되어 있어서, 여기에 Python 3.7.2을 설치하려고 합니다.

아래 코드의 출처 다음과 같습니다.

Installing Python 3.7.2

라즈베리 파이의 터미널에서 다음과 같이 입력하시면 설치가 됩니다.

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
sudo apt-get install libffi-dev
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
sudo tar xzf Python-3.7.2.tgz
cd Python-3.7.2
sudo ./configure --enable-optimizations
sudo make altinstall

아마도 다음과 같은 문구가 나온다면 설치가 완료된 것입니다.

Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.2

Python-3.7.2를 실행하시려면 터미널에서 python3.7이라고 입력하시면 됩니다.

ps: 2019년 4월 16일 현재 Python-3.7.3이 나왔습니다. 이것을 설치하시려면, 위의 코드에서 3.7.23.7.2으로 변경하시면 됩니다.

파이썬에서 함수를 만들 때, 리턴값으로 namedtuple을 써보자.

파이썬에서 리턴값이 조금 복잡해지면, 딕셔너리를 많이 사용했었습니다. 그런데 이렇게 만든 함수를 쓰려면(함수 이름을 ‘fun’이라고 합시다!), fun[‘name’] 과 같이 딕셔너리를 불러오는 방식으로 써야합니다. 뭐 키보드를 많이 두드려야 합니다. 그래서 이를 쉽게 하는 방법을 찾다가 Not using named tuples when returning more than one value from a function이라는 글을 봤습니다. namedtuple을 이용해서 하면 fun.name과 같이 쉽게 처리할 수 있습니다. 윗글에서 코드를 가져왔습니다. 아주 쉽게 처리할 수 있습니다! name = namedtuple("name", ["first", "middle", "last"]), 코드에서 namedtuple을 만들어서 return name("Richard", "Xavier", "Jones")같이 사용하는 것입니다. 그러면 만들 때 사용했던, ["first", "middle", "last"]을 가지고 처리할 수 있게 됩니다.

from collections import namedtuple

def get_name():
    name = namedtuple("name", ["first", "middle", "last"])
    return name("Richard", "Xavier", "Jones")

name = get_name()

# much easier to read
print(name.first, name.middle, name.last)