在上一篇博客中,我介紹瞭如何在ubutnu 18.04中安裝pyenv。這一次我將介紹如何使用pyenv與pyenv-virtualenv管理Python版本與虛擬環境。python
首先使用pyenv -h
命令能夠查看可用命令git
Usage: pyenv <command> [<args>] Some useful pyenv commands are: commands 列出全部pyenv可用命令 local 顯示或設置本地的Python版本 global 設置或顯示全局的Python版本 shell 設置或顯示Shell使用的Python版本 install 使用python-bulid安裝指定Python版本 uninstall 卸載特定Python版本 rehash Rehash pyenv shims (run this after installing executables)更新pyenv墊片路徑的哈希值(安裝後運行這條命令) version 顯示當前Python版本以及其路徑 versions 顯示pyenv全部可用Python版本 which Display the full path to an executable whence List all Python versions that contain the given executable See `pyenv help <command>' for information on a specific command. For full documentation, see: https://github.com/pyenv/pyenv#readme
查看全部可用Python版本github
$ pyenv install --list
因爲我安裝前沒有裝部分依賴,編譯時報出一下錯誤:web
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib? WARNING: The Python readline extension was not compiled. Missing the GNU readline lib? ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
因此在安裝前,先把一些依賴包裝上sql
$ sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libreadline-dev libsqlite3-dev
咱們須要使用install命令安裝某一特定版本的pyenv,下面以安裝 Python 3.7.3爲例:shell
$ pyenv install 3.7.3 -v
在線安裝速度有可能很慢,能夠自行到Python官網下載源碼編譯:this
$ mkdir -p ~/.pyenv/cache $ cd ~/.pyenv/cache $ # 在https://www.python.org/downloads/source/有不一樣版本選擇 $ wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz $ pyenv install 3.7.3 -v
安裝完以後rehash
一下spa
pyenv rehash
查看當前Python版本和全部版本版本控制
$ # 查看當前版本, 默認版本是系統內置的版本 $ pyenv version system (set by /home/lucas/.pyenv/version) $ # 查看全部版本, $ pyenv versions * system (set by /home/lucas/.pyenv/version) 3.7.3
下面三條命令涉及Pyenv版本切換的做用範圍code
$ # 將全部用戶的Python版本切換爲特定版本號(不推薦,由於有不少程序仍是依賴舊版本Python,這樣很容易系統崩潰) $ pyenv global [版本號] $ # 將當前Shell會話的Python版本切換爲特定版本 $ pyenv shell [版本號] $ # 將當前文件夾及子文件夾的Python版本切換爲特定版本 $ pyenv local [版本號]
若是要刪除某一Python版本
$ pyenv uninstall [版本號]
$ # 虛擬環境後面的命名能夠隨便改,改爲本身喜歡的便可 $ pyenv virtualenv 3.7.3 pyweb373
建立完虛擬環境後查看是否建立成功
$ pyenv versions * system (set by /home/lucas/.pyenv/version) 3.7.3 3.7.3/envs/pyweb373 pyweb373
而後就能夠進入項目文件夾中,把Python切換到虛擬環境中
$ cd ~/project1 $ pyenv local pyweb373
這樣,你就成功地將這個項目的環境換成虛擬環境,能夠愉快地安裝第三方庫、擼代碼了。
No module named '_ctypes'
解決:輸入下面命令安裝
sudo apt-get install libffi-dev
解決:新建一個Shell會話
感謝閱讀。