当前位置:网站首页 > 技术博客 > 正文

python虚拟环境 windows环境搭建




使用python进行开发,Unix/Linux 的环境会更加友好,不会出现莫名其妙的bug,虽然 windows store 也发布了 Ubuntu 子系统,但是功能不够全,系统不够完善。本文全面介绍了 Ubuntu、Archlinux、Centos、Mac下安装和使用pyenv的方法。Windows下使用pyenv的方法请移步 pyenv-win 源码地址查看: https://github.com/pyenv-win/pyenv-win ,当然pyenv也可以在Windows store的Linux子系统中使用。


python 版本比较多,2 和 3 相差比较大,当你需要不同环境的时候,选择使用 docker,docker的使用教程可以在菜鸟教程找到

https://www.runoob.com/docker/docker-tutorial.html

也可以在官网查找相关文档

https://www.docker.com/

如果用 docker 那就不需要隔离环境了,如果要直接运行在服务器上,那就必须有隔离环境。本文将会介绍使用pyenv来创建不同python版本的虚拟环境。


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

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

清单

  • git
  • bash,zsh或者brew
  • pyenv
  • pyenv-virtualenv

1、安装 git

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

  • archlinux
  • debian/ubuntu
  • centos
  • Mac

2、开启终端

Ubuntu下使用 shell

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

3、安装 pyenv


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

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

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

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

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

 

然后配置环境变量:

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

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

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

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

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

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

或者

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

4、安装 pyenv-virtualenv

源码git 地址:https://github.com/pyenv/pyenv-virtualenv

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

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

然后配置环境变量

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

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



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

或者

或者重启一个终端窗口。

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


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

检查安装是否正确

  • 检查 pyenv 的版本

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

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

安装 3.6.6 版本的 python

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

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

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

  • archlinux用户

  • Mac用户

  • Ubuntu/Debian/Mint用户

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

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

  • openSUSE用户

  • Solus 用户

  • Linuxbrew用户

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

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

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

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

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

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

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

1. 创建虚拟环境

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

 

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

 

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

2. 激活虚拟环境

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

 

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

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

然后在该目录下执行:

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

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

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

 

3. 删除虚拟环境

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

或者直接删除虚拟环境所在的目录


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

或者

Mac用户则使用brew命令


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

  1. 删除环境变量
  2. 执行:或者

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






本文参考了官方文档并进行了修改,文档可以在源码github地址中找到

版权声明


相关文章:

  • linux发行版本有哪些?2024-11-22 07:30:03
  • json.cpp2024-11-22 07:30:03
  • java怎么调用jframe窗口2024-11-22 07:30:03
  • asx文件怎么打开2024-11-22 07:30:03
  • 单元测试是功能测试吗2024-11-22 07:30:03
  • java多线程编程实例2024-11-22 07:30:03
  • 什么是私人dns模式2024-11-22 07:30:03
  • 指标体系构建方法有哪些?2024-11-22 07:30:03
  • spi接口的使用方法2024-11-22 07:30:03
  • string拆成数组2024-11-22 07:30:03