Raspberry Pi에 Python3.6을 설치하려고했습니다.
4726 단어 데비안파이썬Python3RaspberryPi
소개
현재 (2019/06)
http://ftp.jaist.ac.jp/raspbian/
, http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian/
등에 있는 미러 서버에는 최신 Python 패키지는 3.5까지이며 3.6 이후는 각자 다운로드하고 설치해야 한다. 여기에서는 Raspberry Pi 환경내에서 Python3.6을 install 방법에 대해 정리해 본다.방법
⑴ package download & install
Raspberry Pi에 Python 3.7.0 설치
의 사이트가 참고가 됩니다.
## download
$ wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
## unzip
$ tar -xf Python-3.6.8.tar.xz
$ cd Python-3.6.8
## install
$ ./configure
$ sudo make
$ sudo make altinstall
## symbolic
$ ln -s /usr/local/bin/python3.6 /usr/local/bin/python3
이제 파이썬을 시작할 수 있습니다.
하지만 numpy나 beautufulsoup등을 pip로 패키지를 install을 하려고 하면 error가 됩니다.
## launch
$ python3
Python 3.6.8 (default, Jun 17 2019, 16:55:54)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
### pip -> error
$ sudo pip3 install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
실은 파이썬으로 make하고 있을 때 아래의 error가 나왔습니다.
building '_ssl' extension
*** WARNING: renaming "_ssl" since importing it failed: build/lib.linux-armv7l-3.6/_ssl.cpython-36m-arm-linux-gnueabihf.so: undefined symbol: SSL_get0_alpn_selected
ssl 모듈이 필요합니다.
⑵ openSSL install
apt-get (or yum) install openssl-devel
등으로 package를 install해 해결하면 문제 없습니다만, 라즈파이의 경우는 그렇지 않았으므로 아래의 순서를 밟을 필요가 있습니다.1.openssl download & install
2. python3.6 패키지에있는 Modules/Setup.dist를 열고 openssl 관련 파일 경로를 작성하십시오.
3. 다시 python3.6을 make install한다
⑵.1 openssl download & install
Version 1.1.1 will be supported until 2023-09-11 (LTS).
Version 1.1.0 will be supported until 2019-09-11.
Version 1.0.2 will be supported until 2019-12-31 (LTS).
Version 1.0.1 is no longer supported.
Version 1.0.0 is no longer supported.
Version 0.9.8 is no longer supported.
openssl 의 공식 사이트를 보면 openssl1.0.2 이상이 아니라고 지원되지 않고, 만약 python3.7을 install하는 경우는 openssl1.0.2 이상이 아니면 대응하고 있지 않다고 합니다. 그래서 openssl1.1.1을 install하기로 결정합니다.
$ wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
$ tar -xf openssl-1.1.1.tar.gz
$ cd openssl-1.1.1
$ sudo ./config --prefix=/usr/src/openssl-1.1.1 shared zlib
$ sudo make depend
$ sudo make
$ sudo make test
$ sudo make install
⑵.2 Modules/Setup.dist 편집
209-212 행의 주석 처리를 제거하고 SSL 경로를 지정합니다. default에서는
SSL=/usr/local/ssl
입니다만, 방금 다운로드한 openssl의 폴더처를 지정합니다.Modules/Setup.dist
SSL=/usr/src/openssl-1.1.1
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
⑵.3 다시 python3.6을 make install한다
./configure && make && sudo make install
하면 완료입니다.결론
그런데 python3.7.3을 raspberry pi에 설치하려고 시도했지만 python 본문은 부팅 할 수 있지만 pip install에서
undefined symbol: SSL_CTX_get0_param
와 오류가 발생합니다. 그래서 잠시 파이썬 3.6에서 라즈파이 개발을 진행할 것이라고 생각합니다. 3.5 -> 3.6 으로 한 메리트로서는 async
비동기 기능이 있는 것이 큰 것입니까.나중에 여담으로 파이썬 설치시에
./configure --enable-optimizations
그러면 성능이 약 10% 오르는 것 같습니다.Reference
Reference
이 문제에 관하여(Raspberry Pi에 Python3.6을 설치하려고했습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/satsukiya/items/581ffdc6f4dcef650835텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)