在上一篇博客中,我介绍了如何在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会话
感谢阅读。