mac10.10 打造Python多版本虚拟环境
2024-08-20 00:07:37
一、简介
1、在操作系统mac10.10(yosemite)中搭建Python多版本虚拟环境;
2、多版本虚拟环境包含三个含义:
- 在一个操作系统中安装多个版本的Python,不同版本可以随意切换,例如Python2.5、Python2.7、Python3.0、Python3.6共存于mac10.10;
- 工作中,常常需要用到Python的不同模块,如paramiko、telnetlib、smtp等,会将这些模块安装到C:\Program Files\Python35\Lib目录下,这些模块安装和运行的环境被称为Python环境。对于同一个Python版本,如Python2.7,可以搭建多个Python环境,不同环境之间的Python模块没有影响。
- 不同Python版本、不同python环境可以同时运行。例如,同一时刻,不同shell运行不同Python版本或环境,不同应用程序运行不同Python版本或者环境。
二、用到的工具
pyenv:用于实现不同Python版本共存。
pyenv-virtualenv:用于实现不同Python环境共存。
三、搭建过程
安装pyenv后,重启shell。
$ brew update
$ brew install pyenv
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
使用pyenv
$ pyenv install 2.7.
$ pyenv install 3.6.
注意:直接使用上面命令安装,可能会非常慢或者安装失败,这时可以pyenv安装本地的Python安装包。参考这篇文章。
安装pyenv-virtualenv
说明:virtualenv是一个独立于pyenv的项目,pyenv的作者将virtualenv做成了一个pyenv的插件,利于我们使用。
$ brew install pyenv-virtualenv
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
使用pyenv-virtualenv
$ pyenv virtualenv 2.7. env_2.7.13
$ pyenv virtualenv 3.6. env_3.6.0
$ pyenv virtualenv 3.6. env_3..0_2
$ pyenv virtualenv 2.7. env_2..13_2
四、常用命令
pyenv local 2.7.6 在当前目录生成.python-version文件,该目录的应用程序都将使用指定的python版本运行。
pyenv global 2.7.6
在全局范围设置Python版本。
pyenv shell pypy-2.2.1 为shell设置Python版本。用于不同shell不同Python版本。
pyenv install --list 列出所有可以用于安装的Python版本
pyenv install 2.7.6
安装某个python版本
pyenv uninstall
卸载某个Python版本
pyenv rehash
用于更新shims文件,当安装了新的Python版本后需要运行。
pyenv version
显示当前使用的Python版本
pyenv versions
显示已经安装的Python版本
pyenv which python3.3 显示Python版本的安装路径
pyenv whence 2to3
显示已经安装的某个范围的Python版本
详细命令介绍见这里 https://github.com/yyuu/pyenv/blob/master/COMMANDS.md
pyenv virtualenv 2.7.13 env_2.7.13_2 为Python版本2.7.10安装一个新的Python环境,名字为my-virtual-env-2.7.10 pyenv activate env_2.7.13_2 激活一个Python环境
pyenv virtualenvs 展示全部的Python环境
详细命令介绍见这里 https://github.com/yyuu/pyenv-virtualenv
最新文章
- 测试MailUtils,作用是发邮件
- 招聘前端、Java后端开发、测试、Mysql DBA
- Windows Store App JavaScript 开发:文件选取器
- Java程序员从笨鸟到菜鸟之(一百零一)sql注入攻击详解(二)sql注入过程详解
- 模拟checkbox的最优最简方法
- Linux的sed命令
- Unity插件研究院之ResourceChecker
- Docker简明教程(转)
- 数据结构 B树 B+树 B*树 LSM-树
- ES6新特性之解构使用细节
- Python 项目实践一(外星人入侵)第二篇
- git工作流程一览
- FSFS和VDFS存储方式的区别
- hsdf -- 6.21 -- day6
- Salesforce Invoking Http Callouts and Testing Http Callouts
- MetaMask/sw-controller
- table标签总结
- 树莓派ssh服务
- Json1:使用gson解析、生成json
- pycharm 创建文件时,自动添加文件头注释
热门文章
- HRBUST 2072:萌萌哒十五酱的礼物~(树,字典树)
- IOS-<;input>;表单元素只能读,设置readonly时光标仍然可见的解决办
- Windows Phone 8 适应多屏分辨率
- Unity3D Shader 入门之简单案例的实现(通过法线实现颜色变化)
- chpasswd、dd命令、find实战、添加系统服务、buffer、cached
- scrapy 启动失败,scrapy startproject test 出错 &#39;module&#39; object has no attribute &#39;OP_NO_TLSv1_1
- TCP通过滑动窗口和拥塞窗口实现限流,能抵御ddos攻击吗
- Android应用开发-小巫CSDN博客客户端开发开篇
- Net调用非托管代码(P/Invoke与C++InterOP) [转]
- 第十讲_图像检索 Image Retrieval