最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 虚拟环境工具pyenv的安装,配置和使用,完美控制python版本

    正文概述    2020-01-07   306

    虚拟环境工具pyenv的安装,配置和使用,完美控制python版本

    使用

    使用 pyenv 和 pyenv-virtualenv ,在 Linux 下完美隔离 python 各个版本

    第 1 章:使用环境

    注意: 本文的 Linux和Mac OS X 下进行,不涉及 windows下的安装使用

    清单

    git

    bash,zsh或者brew

    pyenv

    pyenv-virtualenv

    1、安装 git

    在各大 Linux 的发行版下安装 git 都非常简单,此处只展示部分示例

    archlinux

    sudo pacman -S git

    debian/ubuntu

    sudo apt install git

    centos

    sudo yum install git

    Mac

    brew install git

    2、开启终端

    Ubuntu下使用 shell

    Ctrl + Alt + t 快捷键打开终端

    3、安装 pyenv

    说明: 本文的所有安装都严格遵守官方文档,与官方文档完全保持一致。

    源码git 地址:github.com/pyenv/pyenv

    在终端中执行如下命令完成安装:

    首先把项目克隆下来,放在家目录下的隐藏文件夹中:.pyenv

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv

    如果你是Mac用户,可以使用brew命令来安装

    brew update

    brew install pyenv

    然后配置环境变量:

    如果你使用 bash,就依次执行如下命令:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc

    如果你使用 zsh,就依次执行如下命令:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc

    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc

    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc

    如果你用Mac,就执行如下命令:

    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init-)"\nfi' >> ~/.bash_profile

    echo 命令的含义是:将引号中内容写入某文件中

    请注意,以上的三条 echo 命令的最后一条命令,请保证它引号中的内容处于 ~/.bashrc 或者 ~/.zshrc 的最底部。

    因为在 pyenv 初始化期间会操作 path 环境变量,导致不可预测的行为。

    查看文件的底部内容,可以使用 tail 命令,用法:tail ~/.bashrc 或者 tail ~/.zshrc,编辑文件可以使用 vim 或者 vscode

    然后,在使用 pyenv 之前,需要初始化 shell 环境,执行如下命令

    exec $SHELL或者source ~/.bashrc

    同样也可以关闭当前的终端窗口,重新启动一个。

    4、安装 pyenv-virtualenv

    源码git 地址:github.com/pyenv/pyenv…

    插件克隆在刚才已经安装完毕的 pyenv 的 plugins 文件夹中

    git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

    如果你是Mac用户可以使用brew命令来安装

    brew install pyenv-virtualenv

    然后配置环境变量

    eval "$(pyenv init -)"

    eval "$(pyenv virtualenv-init -)"

    如果你使用 bash,就执行如下命令:

    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc

    如果你使用 zsh,就执行如下命令:

    echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

    最后,在使用 pyenv 之前,重新初始化 shell 环境,执行如下命令

    exec $SHELL或者source ~/.bashrc

    或者重启一个终端窗口。

    没有出错的话,此时已经完成了所有的安装操作,如果提示错误,请检查前文中的==路径==和==环境变量==(请检查是否使用对应系统环境的命令)是否配置正确,或者将操作回退,重新执行安装命令

    第 2 章:使用 pyenv

    此处仅展示 pyenv 和 pyenv-virtualenv 的日常用法

    检查安装是否正确

    检查 pyenv 的版本

    pyenv version

    查看 pyenv 已经托管了哪些 python 版本

    pyenv versions

    如果显示了正常的版本信息,说明安装成功,如果显示类似于 command not found 之类的提示,说明安装失败,请查看第一章末尾的提示。

    安装 3.6.6 版本的 python

    pyenv install 3.6.6

    这里需要注意,某些情况下会安装失败,Build failed.

    Don't panic,我们可以查看pyenv在github wiki里面准备的应对方案,原文地址 github.com/pyenv/pyenv…

    摘录如下,只需要执行对应的命令即可:

    archlinux用户

    sudo pacman -S base-devel openssl zlib

    Mac用户

    brew install openssl readline sqlite3 xz zlib

    如果你使用的是OS X Mojave或者更高的版本(10.14+),还需要执行一下命令

    sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

    Ubuntu/Debian/Mint用户

    sudo apt-get install -y 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

    CentOS/Fedora <= 21 用户,确保已经安装了 xz 工具

    sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel

    Fedora  >= 22 用户,确保已经安装了 xz 工具

    sudo dnf install -y gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel

    openSUSE用户

    zypper install gcc automake openssl-devel ncurses-devel readline-devel zlib-devel tk-devel

    Solus 用户

    sudo eopkg it -c system.devel

    sudo eopkg install git gcc make zlib-devel bzip2-devel readline-devel sqlite3-devel openssl-devel tk-devel

    Linuxbrew用户

    brew install bzip2 openssl readline sqlite xz

    安装完这些补充的工具之后,再次执行:

    pyenv install 3.6.6

    就可以成功了,你可以不断的使用pyenv versions来查看被 pyenv 托管的 python 版本,多版本之间不会冲突,完美共存

    执行pyenv install,然后按下  tab  键,就可以看到所有可选的安装版本

    如何使用已经安装的版本创建虚拟环境

    pyenv和pyenv-virtualenv的协作可以这么理解:

    pyenv 托管安装的 python 版本,python-virtualenv 则调用对应的 python 版本

    下面是如何创建和使用虚拟环境

    1. 创建虚拟环境

    首先需要创建一个虚拟环境,执行命令:

    pyenv virtualenv 3.6.6 my-env

    最后一个是环境的名字,可以随便取。安装成功会显示:

    Looking in links: /tmp/tmp0eywgc7v

    Requirement already satisfied: setuptools in /home/vic/.pyenv/versions/3.6.6/envs/my-env/lib/python3.6/site-packages (39.0.1)

    Requirement already satisfied: pip in /home/vic/.pyenv/versions/3.6.6/envs/my-env/lib/python3.6/site-packages (10.0.1)

    它写明了该虚拟环境的绝对路径。

    2. 激活虚拟环境

    在任意目录下,执行命令:

    pyenv activate my-env

    复制代码在终端命令行前面,会出现(my-env) 的提示,进入python环境可以看到版本为虚拟环境设定的3.6.6,使用pip --version,可以看到 pip 包安装的绝对路径

    使用终端进入任意目录,比如 ~/envtest

    cd ~/envtest

    然后在该目录下执行:

    pyenv local my-env

    也可以激活创建好的虚拟环境,执行:

    ls -al

    local命令和之前的命令区别在于,在 ~/envtest 目录下,会创建一个隐藏文件 .python-version,文件内容只包含一句话 my-env,只要使用终端进入 ~/test 目录,就会自动激活虚拟环境

    退出虚拟环境使用下面两个中任意一条命令

    pyenv deactivate  # 或者

    source deactivate

    3. 删除虚拟环境

    随着时间推移,你可能积攒很多虚拟环境,删除虚拟环境可以使用命令

    pyenv uninstall my-env或者rm -rf my-env直接删除虚拟环境所在的目录

    第 3 章:更新 pyenv

    如果是用 git 克隆的,更新则使用git pull命令

    cd ~/.pyenv 或者 cd $(pyenv root)

    git pull origin master

    Mac用户则使用brew命令

    brew upgrade pyenv

    第 4 章:卸载 pyenv

    由于 pyenv 把一切都放在 ~/.pyenv 下了,所以Linux下卸载分为两步

    删除环境变量

    执行:rm -rf ~/.pyenv或者 rm -rf $(pyenv root)

    Mac用户卸载需要使用brew命令:

    brew uninstall pyenv


    下载网 » 虚拟环境工具pyenv的安装,配置和使用,完美控制python版本

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元