前言

面对多个 Python 开发项目时,需要针对不同的项目创建相应的开发环境。通常情况下,使用 virtualenv 创建一个虚拟的独立 Python 环境,但是 virtualenv 创建的环境相对分散不便于管理。这里推荐使用 virtualenvwrapper 来创建集中的便于管理的 Python 环境,同时可以结合 pyenv 为不同的项目选定不同的 Python 版本。

virtualenvwrapper

安装

通过 pip 安装 virtualenvwrapper(Ps: 记住加上 sudo)。

$ sudo pip install virtualenvwrapper

配置

在.bashrc(或.zshrc)中添加下列内容:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

接着执行`source ~/.bashrc(或./zshrc)。注意:修改.bashrc还是.zshrc取决于你使用的那种 shell。

使用

  • workon: 打印所有的虚拟环境;
  • mkvirtualenv xxx: 创建 xxx 虚拟环境;
  • workon xxx: 使用 xxx 虚拟环境;
  • deactivate: 退出 xxx 虚拟环境;
  • rmvirtualenv xxx: 删除 xxx 虚拟环境。

pyenv

安装

Linux

使用下列命令自动安装 pyenv:

$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

Mac OS X

使用 homebrew 直接安装:

$ brew update
$ brew install pyenv

配置

在.bashrc(或.zshrc)中添加下列内容:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

然后重启 shell,使配置生效。

$ exec "$SHELL"

安装 Python 时依赖环境

安装 Python 时需要提前安装好所需的依赖环境。

  • Ubuntu/Debian:
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

  • Fedora/CentOS/RHEL:
sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel
openssl-devel xz xz-devel libffi-devel

Alternative of openssl-devel:

sudo yum install compat-openssl10-devel --allowerasing

  • openSUSE
zypper in zlib-devel bzip2 libbz2-devel readline-devel sqlite3 sqlite3-devel libopenssl-devel xz xz-devel

  • macOS:
brew install readline xz

使用

1. 查看所有 Python 版本

$ pyenv versions

执行命令将打印出安装的所有 Python 版本,*表示当前使用的 Python 版本。

2. 查询所有可安装的 Python 版本

$ pyenv install -l

3. 安装与卸载

$ pyenv install 2.7.14

安装 Python 2.7.14 版本。

$ pyenv uninstall 2.7.14

卸载 Python 2.7.14 版本

$ pyenv rehash

创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions//bin/,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令)。

4. 设置 Python 版本

$ pyenv shell 2.7.14  # 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。
$ pyenv local 2.7.14  # 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。
$ pyenv global 2.7.14  # 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。

注意: shell > local > global。pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。若找不到,就用 global 版本。

Ps: 因为系统本身常常会依赖自带的 python 版本,所以尽量不要修改 global。

5. 取消 shell 或 local python 版本

$ pyenv shell --unset
$ pyenv local --unset

使用镜像加速下载

通过下列脚本使用国内淘宝的镜像快速安装各版本 Python:

$ v=3.6.3;wget https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -P $(pyenv root)/cache/;pyenv install $v注意:v 为 Python 版本号,请根据需要自行更改。

如果镜像不能使用,可以自行下载指定的 Python 版本安装包放入,$(pyenv root)/cache/ 文件夹下,然后执行pyenv install xxx(版本号) 安装相应的 python 版本,安装时会使用缓存安装包。

pyenv-virtualenvwrapper

安装

Linux

通过下列命令安装 pyenv-virtualenvwrapper:

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

Mac OS X

Mac OS X 下可选择使用使用 Homebrew 来安装:

$ brew install pyenv-virtualenvwrapper

激活

安装完成后使用下列命令激活 pyenv-virtualenvwrapper:

$ pyenv virtualenvwrapper

使用

$ pyenv shell 3.6.3  # 设置当前 shell python 版本为 2.7.14
$ pip install virtualenvwrapper  # 第一次使用新的 Python 环境需要安装此包,否则创建的虚拟环境 Python 版本仍为系统默认
$ mkvirtualenv python3  # 创建 python 3.6.3 版本的虚拟环境 python3

参考

  1. pyenv 文档
  2. virtualenvwrapper 文档
  3. pyenv-virtualenvwrapper 文档
  4. 使用 pyenv 管理 Python 版本
  5. pyenv 安装配置与国内镜像加速

python 当前目录_virtualenvwrapper打造多版本Python环境相关推荐

  1. python官网下载哪个版本-python下载哪个版本好

    python3 和 python2是不兼容的,而且差异比较大,python3是不向下兼容的,但是绝大多数组件和扩展都是基于python2的.目前实际应用中大部分暂不考虑 Python3,有的时候注意写 ...

  2. macbook pro python开发_Mac打造python2 python3开发环境

    最新版的MacOS Sierra默认带的python环境仍然为2.7.10,本文将介绍使用Brew安装python3.5并做简单的配置,打造python2,python3共存的开发环境 直接尝试bre ...

  3. mac搭建python开发环境_Mac打造python2 python3开发环境

    最新版的MacOS Sierra默认带的python环境仍然为2.7.10,本文将介绍使用Brew安装python3.5并做简单的配置,打造python2,python3共存的开发环境 直接尝试bre ...

  4. 打造万能的Python开发环境

    一.下载与安装 python的版本众多,主流的分2和3,还有各种小版本. django等也有众多版本. 在我们开发过程中,为使用不同的版本测试,在一台电脑上进行只能进行替换. 为了简化.我们使用con ...

  5. Anaconda多环境多版本python配置指导

    Anaconda多环境多版本python配置指导: http://www.jianshu.com/p/d2e15200ee9b 原博客是翻译的官方文档,再加上自己的部分内容,官方原文地址:http:/ ...

  6. python的集成开发环境搭建_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...

    Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 ​ Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...

  7. 使用Anaconda3配置多版本Python虚拟开发环境详细步骤

    有时候,为了使用比较干净的开发环境,或者为了测试一些版本的扩展库,我们可能需要创建虚拟开发环境,在不同的虚拟开发环境中,只安装需要的扩展库,这样可以最大程度上减少不同扩展库之间的兼容性带来的冲突或其他 ...

  8. anaconda必须安装在c盘吗_Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细)...

    Window版本 - Python数据分析集成开发环境 Anaconda安装(超详细) 前沿 ​ Hello,各位看官,您是不是决定要学习Python数据分析,您是不是现在正在"学" ...

  9. Anaconda多环境多版本python配置笔记

    一.Conda测试过程: 使用conda.首先确认已经安装好了conda 配置环境.下一步通过创建几个环境来展示conda的环境管理功能.学习如何确认在哪个环境中,以及如何做复制一个环境作为备份. 测 ...

最新文章

  1. Ubuntu安装tomcat
  2. tomcat开启SSL8443端口的方法
  3. SpringBoot_入门-springboot-helloworld
  4. Java飞行记录器(JFR)
  5. (译)Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机
  6. iPhone Xs发布会其实是苹果计算机视觉技术发布会!
  7. 【C语言】qsort函数用法(转)
  8. “编程能力差,90%会输在这点上!”谷歌开发:方法不对,努力也白费
  9. python拥有丰富的第三方库_Python第三方库的安装方法
  10. 数据库创建常用SQL语句
  11. python偏最小二乘法公式_最小二乘法及其python实现详解
  12. Java-Anagram方法
  13. 竞争10nm产品市场 联发科新增Helio X35
  14. sum if函数的精妙及高级用法:
  15. a19_Python文件I/O---学习笔记
  16. 威霆商务车改装独特的爱马仕橙+磨砂黑的搭配
  17. win7家庭版开机登录画面多了一个管理员的账户名
  18. [OpenHarmony RK3568](四)WIFI芯片适配
  19. 报头压缩-ROHC压缩系统
  20. web js智能识别收货地址

热门文章

  1. 不同主体公众号跳转小程序_公众号和小程序的区别
  2. mysql hash分区 数目_mysql8 参考手册-HASH分区
  3. oracle shrink space compact,oracle 学习笔记 Shrink 参数 compact
  4. Restoring Permutation CodeForces - 1315C(思维)
  5. KDD2021 | USCB:展示广告约束出价问题的通用解决方案
  6. Eclipse代码自动对齐方法
  7. c mysql 的默认值_为mysql表字段设置默认值的方法及注意细节
  8. 数据结构-链表之单链表
  9. 训练神经网络适合使用交叉熵(cross_entropy)错误率,而不是分类错误率或是均方差
  10. ORB-SLAM2 学习1