您现在的位置是: 网站首页 >Python Python

Linux平台最好用的多版本Python环境和pip环境共存软件推荐

admin2018年10月28日 11:48 Linux | Python 995人已围观

# 简介 pyenv [https://github.com/pyenv/pyenv](https://github.com/pyenv/pyenv) pyenv-virtualenv [https://github.com/pyenv/pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv) pyenv是一种管理Python版本的工具,它支持在多个Python版本间自由切换,并且还具有virtualenv插件,可以简单快速的建立python的虚拟环境。 **virtualenv和pyenv-virtualenv** pyenv-virtualenv一个pyenv插件,利用他你可以直接通过pyenv直接管理virtualenv。 # 安装pyenv ## 先安装相关依赖库 如果不想在使用中出现莫名其妙的问题,最好先安装作者要求的环境,只需要运行下面的指令即可: ```bash apt-get update 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 ``` ## 下载软件 在terminal中,运行下面的指令,下载`pyenv` 的代码到`~/.pyenv`目录下 如果没有`git`,要先安装`apt-get install git` ```bash git clone https://github.com/pyenv/pyenv.git ~/.pyenv ``` ## 添加环境变量 先查看自身使用的是哪种shell,运行下面指令即可查看 ```bash echo $SHELL ``` 如果是`bash`,则会返回 ```bash /bin/bash ``` 如果是`zsh`,则会返回 ```zsh /bin/zsh ``` 根据自身终端类型,在相应文件中添加环境变量(其他类型的shell同理) bash:利用`sudo gedit ~/.bashrc`打开文件,在文件末尾添加: ```bash export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" ``` zsh:利用`sudo gedit ~/.zshrc`打开文件,在文件末尾添加 ```zsh export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" ``` 上面的添加过程也可以直接在终端中运行下面的命令完成: ```bash echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc ``` (zsh只需将最后的`bashrc`改成`zshrc`即可) ## 添加shell命令 使得在启动shell 的时候,初始化pyenv。 在命令行中运行如下指令,添加环境变量(与上面同理) ```bash echo 'eval "$(pyenv init -)"' >> ~/.bashrc ``` (zsh用户注意要将`bashrc`改成`zshrc`) ## 重启shell 使改动生效 ```bash exec $SHELL ``` # pyenv的使用 详细的pyenv 指令集可以参见下面的链接: [https://github.com/pyenv/pyenv/blob/master/COMMANDS.md](https://github.com/pyenv/pyenv/blob/master/COMMANDS.md) 以下是常用指令集: - pyenv commands - pyenv local - pyenv global - pyenv shell - pyenv install - pyenv uninstall - pyenv rehash - pyenv version - pyenv versions - pyenv which - pyenv whence 下面简单介绍各个指令的用法: ## 查询所有可以安装的版本 `pyenv install --list`:查询所有可以安装的版本: ```bash pyenv install --list Available versions: 2.1.3 ... 2.7 2.7.1 2.7.2 ... 3.2-dev 3.2 ... 3.5.0 3.5-dev ... 3.6.0 3.6-dev 3.7-dev ... ``` ## 安装所需的版本 ```bash pyenv install 2.7.6 pyenv install 3.3.3 ``` ## 卸载特定的Python版本 ```bash pyenv uninstall 2.7.6 ``` ## 显示当前活动的Python版本 ```bash pyenv version 2.7.6 (set by /home/yyuu/.pyenv/version) ``` ## Python的全局设置 整个系统生效 ```bash pyenv global 3.3.3 ``` ## Python的局部设置 当前目录生效 ```bash pyenv local 3.3.3 ``` 取消设置 ```bash pyenv local --unset ``` ## 高级用法 可以一次将多个版本指定为本地Python。 假设你有两个版本的2.7.6和3.3.3。如果你喜欢2.7.6胜过3.3.3, ```bash pyenv local (高级) pyenv local 2.7.6 3.3.3 pyenv versions system * 2.7.6 (set by /Users/yyuu/path/to/project/.python-version) * 3.3.3 (set by /Users/yyuu/path/to/project/.python-version) python --version Python 2.7.6 python2.7 --version Python 2.7.6 python3.3 --version Python 3.3.3 ``` 如果你喜欢3.3.3胜过2.7.6, ```bash pyenv local 3.3.3 2.7.6 pyenv versions system * 2.7.6 (set by /Users/yyuu/path/to/project/.python-version) * 3.3.3 (set by /Users/yyuu/path/to/project/.python-version) venv27 python --version Python 3.3.3 python2.7 --version Python 2.7.6 python3.3 --version Python 3.3.3 pyenv global (高级) ``` 你可以同时将多个版本指定为全局Python。 假设你有两个版本的2.7.6和3.3.3。如果你喜欢2.7.6胜过3.3.3, ```bash pyenv global 2.7.6 3.3.3 pyenv versions system * 2.7.6 (set by /Users/yyuu/.pyenv/version) * 3.3.3 (set by /Users/yyuu/.pyenv/version) python --version Python 2.7.6 python2.7 --version Python 2.7.6 python3.3 --version Python 3.3.3 ``` 如果你喜欢3.3.3胜过2.7.6, ```bash pyenv global 3.3.3 2.7.6 pyenv versions system * 2.7.6 (set by /Users/yyuu/.pyenv/version) * 3.3.3 (set by /Users/yyuu/.pyenv/version) venv27 python --version Python 3.3.3 python2.7 --version Python 2.7.6 python3.3 --version Python 3.3.3 ``` # 如何安装pyenv-virtualenv(pyenv的插件) **重要说明**: 如果你没有将pyenv安装到标准目录(~/.pyenv)中,请确保将此插件克隆到安装到位置的“plugins”目录中。 ## 下载pyenv-virtualenv插件 ```bash git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv ``` ## virtualenvs的自动激活 这个功能是作者开发的一个十分实用的功能,它可以让你在进入到你自己设置过的Python版本的目录下,自动切换到virtualenvs的模式,此时你的相关命令只在当前virtualenvs下有效果。要启用改功能,运行下面的指令,添加环境变量即可 ```bash echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc ``` Zsh注意修改的是`~/.zshenv`或者`~/.zshrc`,而不是`~/.bashrc`。 ## 重新启动shell 以使路径更改生效。 ```bash exec $SHELL ``` # 使用pyenv-virtualenv 我们可以通过 pyenv virtualenv指令,指定所需的Python版本和virtualenv目录的名称。 - 从当前环境的python版本创建virtualenv ```bash pyenv virtualenv envtest1 ``` - 列出现有virtualenvs ```bash $ pyenv shell venv34 $ pyenv virtualenvs miniconda3-3.9.1 (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1) miniconda3-3.9.1/envs/myenv (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1) 2.7.10/envs/my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10) 3.4.3/envs/venv34 (created from /home/yyuu/.pyenv/versions/3.4.3) my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10) * venv34 (created from /home/yyuu/.pyenv/versions/3.4.3) ``` - 激活virtualenv 如果`eval "$(pyenv virtualenv-init -)"`在shell中配置,pyenv-virtualenv将在进入/离开包含.python-version列出有效虚拟环境的文件的目录时自动激活/停用virtualenvs。`python-version`文件表示本地Python版本,可以使用`pyenv local`命令创建和删除。 也就是说,当我们在某个目录下运行`pyenv local test1`时,该目录就会创建一个`.python-version`的隐藏文件,文件内存有虚拟环境`test1`的名称,当下次我们再进入这个目录时,pyenv就会自动启动虚拟环境,无须人为控制。 如果不想设置自动启动虚拟环境,也可以通过下面的命令手动激活和停用pyenv virtualenv: ```bash pyenv activate virtualenv的名称 pyenv deactivate ``` - 删除现有virtualenv ```bash pyenv uninstall my-virtual-env ```

很赞哦! (0)

文章交流

  • emoji
0人参与,0条评论

当前用户

未登录,点击   登录

站点信息

  • 建站时间:网站已运行2077天
  • 系统信息:Linux
  • 后台程序:Python: 3.8.10
  • 网站框架:Django: 3.2.6
  • 文章统计:256 篇
  • 文章评论:60 条
  • 腾讯分析网站概况-腾讯分析
  • 百度统计网站概况-百度统计
  • 公众号:微信扫描二维码,关注我们
  • QQ群:QQ加群,下载网站的学习源码
返回
顶部
标题 换行 登录
网站