2019年7月20日土曜日

在 Ubuntu 18.04 上安裝 pyenv

這篇主要是在講 python 的版本管理
前一陣子遇到了很多 python 2.x 跟 3.x 一直切換來切換去的問題
雖然手動一個一個慢慢換也是可以
不過就是麻煩
所以就只好來用一下現成的工具管理 python 了

TL;DR

在 terminal 裡面一行一行的敲完就會裝好囉ヾ(´∇`)ノ゙

$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

$ source ~/.bash_profile



把 pyenv 抓回來

這裡的範例是在 ~/ 目錄下弄一個 .pyenv 目錄把它放進去
看情況可以自己隨便找個喜歡的位置放就好
基本上這樣就裝好了!!

$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv

環境變數的設定

基本上每次啟動都要敲一次環境變數很麻煩
所以這裡就直接找個地方寫進去
讓開機的時候可以自動執行
這樣就不用每次都手動慢慢敲了
至於環境變數要加在哪裡其實不是太重要的事
要寫在 ~/.bash_profile 還是 ~/.bashrc 或其他地方都可以
反正只要開機執行的到就可以啦
這裡用 bash_profile 當例子
在 terminal 敲下面這幾行
~/.bash_profile 裡面就會多出這些東西了

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

或是你喜歡自己用 editor 把文件打開來寫
又或是你喜歡單次在 terminal 敲也是可以的

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

最後就是把剛剛寫進去的檔案 reload 一次讓它生效

$ source ~/.bash_profile

大概就是這樣了




沒事來湊一下篇幅順便紀錄一下東西
講一下 pyenv 和 virtualenv 和 pyenv-virtualenv 的關係

pyenv

用來管理 python 的版本的東西
簡單來說就是可以用來切換各種不同版本的 python
假設電腦裡同時存在 2.6, 2.7, 3.5, 3.6, 3.7 的版本
它就可以在這些不同的版本中進行切換
而且可以指定特定資料夾使用特定的版本

virtualenv

用來管理 package 的版本的東西
它不會管你的 python 到底是哪個版本
它只在意它底下的 package 是哪個版本而已

pyenv-virtualenv

這個就是把 virtualenv 當作外掛
然後綁在 pyenv 上的東西
簡單來說就是上面兩個的相加就是了
所以這個可以管理 python 版本也可以管理 package 的版本

用 pyenv 切換 python 版本

local 是用來切換當前路徑底下的版本
global 是反映整台電腦的版本

$ pyenv local 2.7.10
$ pyenv global 3.5.0

這篇就這樣沒了(´∀`)ノシ

0 件のコメント:

コメントを投稿