penv是一个简单的Python版本管理工具。
前身为Pythonbrew,pyenv允许改变全局的python版本,安装多种不同的python版本,设置应用指定的python版本以及创建/管理虚拟的python环境
pyenv的工作原理:
将pyenv管理的Python目录插到环境变量的最前面,这样系统在搜索Python的时候第一个找到的就是pyenv管理的Python环境。
这个插到最前面的路径就叫做垫片(shims)
1.安装
系统:
Ubuntu16
curl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
pyenv会安装到当前用户的~/.pyenv目录下
2.修改.bashrc文件
为了可以直接使用pyenv命令,修改.bashrc文件
export PATH="/home/baby/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
不重启就生效使用命令
source ~/.bashrc
查看pyenv版本
pyenv --version
2.安装python
查看python版本
pyenv install --list
会打印一串很长的列表
安装3.6.0
pyenv install 3.6.0 -v
说明:
(1)如果下载速度慢的话
可以事先下载,放到~/.pyenv/cache目录
没有这个目录就先手动建一个
修改~/.pyenv/plugins/python-build/share/python-build/3.6.0 (安装的3.6.0版本,换成安装的对应版本)
#require_gcc install_package "openssl-1.0.2k" "https://www.openssl.org/source/openssl-1.0.2k.tar.gz#6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0" mac_openssl --if has_broken_mac_openssl install_package "readline-8.0" "https://ftpmirror.gnu.org/readline/readline-8.0.tar.gz#e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461" mac_readline --if has_broken_mac_readline if has_tar_xz_support; then install_package "Python-3.6.0" "~/.pyenv/cache/Python-3.6.0.tar.xz" ldflags_dirs standard verify_py36 copy_python_gdb ensurepip else install_package "Python-3.6.0" "~/.pyenv/cache/Python-3.6.0.tgz" ldflags_dirs standard verify_py36 copy_python_gdb ensurepip fi
(2)安装时可能会出现各种各样问题,例如缺少zlib、缺少ctypes模块,需要安装好多软件
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev /
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev /
xz-utils tk-dev libffi-dev liblzma-dev libedit-dev
查看
pyenv versions
3.其他常用命令
切换系统默认python环境
查看当前python版本
设置3.6.0
pyenv global 3.6.0
查看版本
卸载3.6.0版本的python
pyenv uninstall 3.6.0
卸载pyenv
rm -fr ~/.pyenv
将.bashrc添加的那部分也删掉
踩了好些坑,终于装好了
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20488.html