前言:
目前你们对“python虚拟空间”大体比较看重,咱们都需要了解一些“python虚拟空间”的相关内容。那么小编在网上收集了一些关于“python虚拟空间””的相关文章,希望各位老铁们能喜欢,咱们一起来学习一下吧!本篇文章主要围绕Pyenv, Virtualenv, Virtualenvwrapper三个Python库展开讨论。
熟悉Python的朋友一定知道python虚拟环境, 它可以让我们在不同项目中拥有各自独立的依赖库空间, 从而保证各个项目的干净整洁,而笔者在工作中需要负责多个项目,因为历史原因有的项目还在使用python2系列的版本,有的则使用python3系列的版本。所以我需要一种方式可以在同一台电脑上可以安装多个不同版本的python来适应我的工作需求,那么pyenv就是我理想的管理工具。
Pyenv 简介
pyenv是一个python版本管理工具,可以方便用户在不同的python版本间切换,例如我电脑上已经安装了python2.7,我还想安装python3.7和3.8,那么通过pyenv可以非常方便的实现这种需求。
pyenv的作者是一位日本人,据说因为他本人不喜欢window平台, 故pyenv只支持linux系和mac平台, 不光现在不支持windows以后也不支持,所以在windows上开发的小伙伴无福消受了。
Pyenv官网:
Pyenv安装
以下案例是在Centos6.7 x64系统中操作。
一. 安装git二. 安装Python 编译依赖三. 创建用户Python四. 使用python用户登录后安装Pyenv在线安装:
我们可以直接通过pyenv-installer插件来安装, PS: 在 有安装文档,下载的 pyenv-installer 是一个shell脚本。
这里需要注意:如果curl出现 curl: (35) SSL connect error ,这是nss版本低导致的问题,可以配置一个有较新包的yum源, 然后更新nss离线安装
如果上面的在线安装失败可以尝试这种方式,直接clone github仓储到指定目标文件目录
五. 在python用户的~/.bash_profile中追加
这样当用户启动的时候,会执行用户的.bash_profile中的脚本,就会启动pyenv。
安装好的pyenv就在~/.pyenv目录中。
Pyenv的使用列出所有可用版本 pyenv install --list在线安装指定版本 pyenv install 3.8.1
因为它从python官网下载python包, 在线安装可能较慢, 为了提速,可是选用cache方法:
首先在~/.pyenv目录下,新建cache目录,放入下载好的待安装版本的文件。
如果不确定要哪一个python安装包文件,把下载好的的xz、gz、tgz这几个文件都放到cache目录中去。
放好后直接执行:
列出当前所有已经安装的python版本 pyenv versions
前面打星号的表示当前目录正在使用的python版本
列出当前正在使用的python版本 pyenv versionglobal 全局设置 pyenv global 3.6.9
这里用global是作用于非root用户python用户上,如果是root用户安装,请不要使用global,否则影响太大。
比如,这里使用的CentOS6.7就是Python2.6,使用了global就成了3.x,会带来很不好的影响。
shell 会话设置 pyenv shell 3.8.2
影响只作用于当前会话, 关闭当前会话即失效
local本地设置 pyenv local 3.8.2 个人非常推荐这种方式
使用pyenv local设置从当前工作目录开始向下递归都继承这个设置。
取消local设置 pyenv local --unsetPyenv 虚拟环境设置
为什么要使用虚拟环境?
因为刚才使用的Python环境都是一个公共的空间,如果多个项目使用不同Python版本开发,或者使用不同的Python版本部署运行,或者使用同样的版本开发的但不同项目使用了不同版本的库,等等这些问题都会带来冲突。最好的解决办法就是每一个项目独立运行自己的“独立小环境”中。
virtualenv 插件的使用
正常来说,pyenv-virtualenv插件是安装pyenv自带的,在pyenv的plugin目录里可以看到它
如果你的目录里没有,从github拉一份下来就好,项目地址:,安装步骤README有写
VirtualenvVirtualenv 简介Virtualenv 安装Virtualenv 使用
假设现在开发一个新的项目, 第一步我们需要先创建一套独立的python运行环境, 那么我们只需要这么做:
创建虚拟环境
virtualenv --no-site-packages ENV 执行这条命令会创建一个名为ENV的目录, ENV 目录下分别为bin, lib, pyvenv.cfg
bin 目录下是当前虚拟环境使用的Python解释器
lib 所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/下
pyvenv.cfg 是当前虚拟环境的配置文件
如果你想创建指定python版本的虚拟环境可以使用下面这个命令
激活虚拟环境
当终端命令行开头出现(ENV)时说明已经成功进入虚拟环境, 我们可以执行 pip list 来查看当前依赖库
退出虚拟环境
当终端命令行开头的(ENV)消失时即表示已经成功退出虚拟环境
Virtualenv 参数VirtualenvwrapperVirtualenvwrapper 简介
上面提到的 virtualenv 可以创建一个虚拟的独立 Python 环境,但是 virtualenv 创建的环境相对分散不便于管理, 而Virtualenvwrapper 提供了一系列命令使得和虚拟环境工作变得轻松许多, 相对于virtualenv, Virtualenvwrapper有以下几个优点:
1. 将您的所有虚拟环境在一个地方
2. 包装用于管理虚拟环境(创建,删除,复制)
3. 使用一个命令来环境之间进行切换
Virtualenvwrapper 安装
安装之后还需要配置, 在.bashrc(或.zshrc)中添加下列内容:
注意:
virtualenvwrapper.sh 文件位置根据你的实际目录填写, 不确定的话可以使用find / -name virtualenvwrapper.sh查找一下
Virtualenvwrapper 使用创建虚拟环境
创建指定的python版本的虚拟环境
激活虚拟环境导航到当前激活的虚拟环境的目录中退出虚拟环境 (同virtualenv一样)列出所有虚拟环境
workon 和lsvirtualenv都可以列举出已创建的所有虚拟环境
删除虚拟环境总结Pyenv
在创建一个新的python版本时,完全拷贝一个现成的python环境,新的python版本,可作为global
Virtualenv
在创建一个新的python版本时,它生成一套软链到现有的python环境,即执行环境和版本不变,也可以制定一个python解释器让它来virtual,但是它的site-packages是独立的。
针对一个应用,建立一个独立的python运行环境。
Virtualenvwrapper
Virtualenvwrapper 是对 virtualenv 的扩展,用来管理全部的虚拟环境。
标签: #python虚拟空间 #python运行虚拟环境 #python虚拟环境部署 #python环境没有激活 #虚拟主机运行python