Es gibt viele Informationen zur Installation von pyenv, aber ubuntu hinterlässt eine Lösung für das Problem, dass bei Verwendung von sudo der Pfad mit secure_path überschrieben wird und pyenv nicht erkannt wird.
Das offizielle GitHub-Repository ist hier
Umgebung OS: Debian 9.0 stretch Python: 3.6.3
aktualisieren 2019.01.29 Apt-get zu apt geändert
Zuerst müssen Sie git einschließen, um pyenv zu installieren. ((J / N) während der Installation sollte J sein (Bedeutung = Ja))
sudo apt update
sudo apt install -y git
Klonen Sie das Repository von Github.
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Fügen Sie dann den Pfad zu .profile (.bash_profile) hinzu. (Übrigens → ". Bash_profile? .Bashrc? Es gibt verschiedene Dinge, wo und was?")
(Für Erstanwender)
Wenn Sie einmal mit ls -al ~ /
prüfen, ob sich unter / home / USERNAME
ein .profile befindet, wird es möglicherweise nicht verschwendet.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.profile
Hierbei wird die Umgebungsvariable * PYENV_ROOT * in der ersten Zeile festgelegt und der Umgebungsvariablen * PATH * in der zweiten Zeile * PYENV_ROOT / bin * hinzugefügt. Wenden Sie die hinzugefügten Einstellungen an, indem Sie .profile (.bash_profile) hier neu laden.
source ~/.profile
Das .profile neu geladen.
Öffnen Sie natürlich .profile (.bash_profile) mit einem Editor wie vim
sudo vim ~/.profile
Dies ist auch dann der Fall, wenn Folgendes hinzugefügt wird.
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
danach
which pyenv
Laufen
/home/USERNAME/.pyenv/bin/pyenv
Wenn Sie ein solches Ergebnis erhalten, ist es in Ordnung.
Dies ist eine Lösung für das Problem, dass PATH nicht vererbt wird und ein Fehler bei $ sudo pyenv``` auftritt. Es gibt verschiedene Lösungen, aber die folgenden scheinen die besten zu sein, deshalb habe ich mich auf sie bezogen. Das gleiche passiert in Debian, aber die Installation von pyenv ist ohne sudo möglich, daher denke ich, dass das Folgende nur für Ubuntu behandelt werden sollte. [[Ubuntu] Wie man PATH übernimmt, wenn sudo](http://qiita.com/hidekuro/items/0f8acd0504baa6efde34) Bitte ändern Sie den Teil **
`USERNAME``` in Ihren eigenen Benutzernamen. ** ** **
sudo groupadd developer
sudo gpasswd --add USERNAME developer
sudo visudo
Defaults exempt_group="developer"
Stellen Sie danach sicher, dass Sie sich erneut bei ssh anmelden.
Installieren Sie vorher die erforderlichen Werkzeuge.
sudo apt install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
Und hier wollen wir überprüfen, was jetzt installiert werden kann.
pyenv install --list
Die Elemente, die installiert werden können, werden aufgelistet.
Hier installieren wir Python 3.6.3. ** (Beachten Sie, dass mod_wsgi nicht installiert werden kann, ohne hier eine Option hinzuzufügen) ** Im Falle von Ubuntu bitte mit sudo ausführen.
pyenv install 3.6.3
#Späterer Mod als Python-Paket_Installieren Sie bei der Installation von wsgi die folgenden Optionen
#env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.6.3
Stellen Sie sicher, dass 3.6.3 installiert ist
pyenv versions
Wenn du rennst
* system
3.6.3 (set by /home/USER_NAME/.pyenv/version)
Sie können sehen, dass 3.6.3 in hinzugefügt wurde.
Ich denke, es ist eine gute Idee, Python zu ändern und pip auf die neueste Version zu aktualisieren. Hier ist übrigens der Unterschied zwischen global und lokal (→ Unterschied zwischen pyenv local und pyenv global in pyenv). Da es sich um ein Tool handelt, das die Umgebung trennt, wird meiner Meinung nach häufig lokal verwendet. Fügen Sie im Fall von Ubuntu auch sudo hinzu.
pyenv global 3.6.3
pip install --upgrade pip
Installieren Sie nach pyenv auch ein Plug-In namens pyenv-virtualenv.
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
Es ist eine Ergänzung zu .profile (.bash_profile).
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.profile
Wenden Sie die hinzugefügten Einstellungen an, indem Sie .profile (.bash_profile) auf die gleiche Weise wie pyenv neu laden.
source ~/.profile
Versuchen Sie dann, eine neue Umgebung "myenv" zu erstellen. In Ubuntu ist es Sudo.
pyenv virtualenv 3.6.3 myenv
#Darüber hinaus gibt es eine solche Option
# --system-site-packages <-Verwenden Sie installierte Module
# --no-site-packages <-Eine virtuelle Umgebung wird erstellt, in der alle installierten Module entfernt werden
#Zum Beispiel schon 3.6.3 Beim Erben der in der Umgebung installierten Module
# pyenv virtualenv --system-site-packages 3.6.3 myenv
Sie können sehen, dass myenv erstellt wurde, indem Sie die Liste der Versionen überprüfen.
pyenv versions
system
* 3.6.3 (set by /home/USERNAME/.pyenv/version)
3.6.3/envs/myenv
myenv
Recommended Posts