Raspeye a 3.5.3
de Python installé par défaut,
Je voulais utiliser Python avec 3.6
ou supérieur, donc j'utiliserai pyenv pour changer de version.
$ uname -a
# Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
$ lsb_release -a
# No LSB modules are available.
# Distributor ID: Raspbian
# Description: Raspbian GNU/Linux 9.11 (stretch)
# Release: 9.11
# Codename: stretch
Tout d'abord, installez les packages requis.
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
Clonez pyenv depuis github.
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Ajoutez ce qui suit à .bash_profile
pour pouvoir lancer la commande.
$ sudo vi ~/.bash_profile
.bash_profile
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
Rechargez .bash_profile
.
$ source ~/.bash_profile
L'installation est terminée lorsque la version est affichée avec la commande suivante.
$ pyenv --version
#pyenv 1.2.16-5-g7097f820
Affiche une liste des versions installables.
$ pyenv install --list
#Available versions:
# 2.1.3
# 2.2.3
# ...
# 3.6.0
# 3.6-dev
# ...
# stackless-3.4.7
# stackless-3.5.4
Cette fois, j'installe "3.6.0".
$ pyenv install 3.6.0
Modifions réellement la version une fois l'installation terminée.
Tout d'abord, vérifiez la version avant le changement.
$ python --version
#Python 2.7.13
$ python3 --version
#Python 3.5.3
Changez la version.
$ pyenv global 3.6.0
La version a été modifiée comme ci-dessous!
$ python --version
#Python 3.6.0
$ python3 --version
#Python 3.6.0
Définissez pyenv avec la commande suivante.
$ pyenv global x.x.x
Au fait, vous pouvez définir la portée en modifiant cette partie globale
.
Champ d'application | Utiliser des applications | |
---|---|---|
shell | S'applique uniquement au shell que vous utilisez actuellement | Utilisation temporaire |
local | Appliquer au répertoire courant | Je veux définir pour chaque dossier |
global | S'applique à l'ensemble | Je souhaite modifier l'environnement global par défaut |
Vous pouvez le restaurer en remplaçant la partie «x.x.x» par «système».
Exemple
$ pyenv local 3.6.4
$ pyenv shell 2.7.6
$ pyenv global system
Vous pouvez également voir la liste des versions installées avec la commande suivante.
$ pyenv versions
Lorsque j'ai essayé d'installer la série 3.7, je ne pouvais pas l'installer avec l'erreur suivante.
$ pyenv install 3.7.0
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
Installing Python-3.7.0...
BUILD FAILED (Raspbian 9.11 using python-build 1.2.16-5-g7097f820)
Inspect or clean up the working tree at /tmp/python-build.20200213174102.2652
Results logged to /tmp/python-build.20200213174102.2652.log
Last 10 log lines:
File "/tmp/tmp01sfxi5t/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmp01sfxi5t/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmp01sfxi5t/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/index.py", line 25, in <module>
File "/tmp/tmp01sfxi5t/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/download.py", line 39, in <module>
File "/tmp/tmp01sfxi5t/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/utils/glibc.py", line 3, in <module>
File "/tmp/python-build.20200213174102.2652/Python-3.7.0/Lib/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
Makefile:1122: recipe for target 'install' failed
make: *** [install] Error 1
En installant libffi-dev
, j'ai pu également installer la série 3.7.
$ sudo apt install libffi-dev
$ pyenv install 3.7.0
Aujourd'hui, c'est ici!
Recommended Posts