eclipse 如何配置python 虚拟环境_python基础篇:虚拟环境,如何为你的代码定制一个环境...

我们在写Python程序的时候,经常会用到非标准库的包和模块,比如requests等非常有用的第三方包和模块。有时候也会用到某个包和模块的特定版本,可能是这个特定的版本修复了某个bug,或者是依赖的接口只有该版本有。也可能系统安装了Python 3.6,但应用程序要求 3.7 或 Python 2.7。

85ae5e0b0cfb5123243a8a514a479225.png

这些情况注定了对多个Python及其库的需求。如果我们写的程序依赖某个库的1.0的版本,而系统安装的是1.2的版本,应用程序就无法运行;如果应用程序要求Python 2.7,则它在Python3上就可能会保存。

2c9ad3f6321764cf994ae4c7edbe84c3.png

要解决这些不同需求的问题就是使用虚拟环境,它是一个目录树,其中安装特定的Python版本及需要的库的版本。这样,不同的应用可以使用不同的虚拟环境来满足其运行条件。不同虚拟环境内部的库版本涉及不会影响其它虚拟环境。

Python虚拟环境的创建和使用

在Python 2 时代,虚拟环境管理用的是virtualenv及其封装virtuaalenvwrapper这两个包(通过 pip install可以安装)。它们也支持在Python3下使用。virtuaalenvwrapper是使用shell开发的,因此不支持Windows。支持Windows的叫做virtuaalenvwrapper-win。

从 Python 3.3 开始,引入了新的库venv来进行虚拟环境的管理,详见 PEP-405 的描述。它的很多操作都和virtualenv类似。pyvenv是Python 3.3 和 3.4 中创建虚拟环境的推荐工具,但是在 Python 3.6 中已经弃用,之后的版本还是用 venv。

使用venv创建虚拟环境还是很容易的,将venv模块作为脚本运行并确定虚拟环境存放的路径即可:

python3 -m venv /path/to/myenv

这条命令将创建/path/to/myenv目录,并在其中创建包含Python解释器、标准库和各种支持文件的目录:

c9fede5496395178647504c37d1b85bb.png

创建虚拟环境后,就可以激活并使用它。在Linux和macOS上,运行:

source /path/to/myenv/bin/activate

(这个脚本是为bash shell编写的,如果你使用的是csh或fish shell,就要使用activate.csh或activate.fis脚本来激活。)

激活虚拟环境后,你的shell提示就会显示你正在使用的虚拟环境的名称,你就可以使用该虚拟环境下的Python及相关的库了:

8b30dc88803adb9096134d3d2fffab16.png

运行venv的命令如果加-h选项,就可以看到详细的使用方法:

1afa5b5e03ad70427534e0d54473ac70.png

Ubuntu 16.04 上 Python2 使用 virtualenvwrapper 创建 Python 3 的虚拟环境

Ubuntu 16.04 系统默认的Python 还是2,要在这个系统上使用Python 3.6 或 Python 3.7,最好的方法就是创建它们的虚拟环境。目前可能还有很多人在使用这个版本的Ubuntu,所以有必要讲一下这一小节的内容。这里,我们推崇使用virtualenvwrapper,拒绝使用Anacodna。

8c2bee37471ea93a2f860437c28ade5d.png

(1)Ubuntu 16.04 上安装 Python 3.6,3.7 和 3.8

可以通过ppa源安装,也可以从源码编译安装。为了方便(安装和以后更新),我们选择ppa:

sudo add-apt-repository ppa:deadsnakes/ppasudo apt updatesudo apt install python3.6 python3.6-dev

如果安装3.7或3.8,替换掉上面命令中的3.6即可。

连接PPA比较慢的话,可以用USTC的反向代理,https://lug.ustc.edu.cn/wiki/mirrors/help/revproxy

只要一句话,全替换成USTC加速的PPA:

sudo find /etc/apt/sources.list.d/ -type f -name "*.list" -exec sed -i.bak -r 's#deb(-src)?s*http(s)?://ppa.launchpad.net#deb1 http2://launchpad.proxy.ustclug.org#ig' {} ;

(2)安装配置virtualenvwrapper

首先,安装virtualenvwrapper:

sudo pip install virtualenvwrapper

这会将virtualenvwrapper安装到Ubuntu系统的 Python2 搜索的路径,同时也会安装它依赖的virtualenv库。

接着,编辑~/.bashrc,写入一下配置:

# virtualenvwrapper settingsexport WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.shsource /usr/local/bin/virtualenvwrapper_lazy.sh

配置了虚拟环境的根目录是$HOME/.virtualenvs。为了使以上配置生效,运行命令:

$ source ~/.bashrc

这时候,命令行里面就有了命令:mkvirutalenv。

(3)创建虚拟环境

运行命令:

mkvirtualenv py3.6 -p=/usr/bin/python3.6

它的意思是,创建一个名为py3.6的虚拟环境,它的解释器是/usr/bin/python3.6,即我们创建了一个Python 3.6的虚拟环境叫做py3.6。

用workon命令来激活py3.6这个虚拟环境:

$ workon py3.6(py3.6) veelion@gtx:~$

这是shell提示的开始多了(py3.6)。

退出虚拟环境,返回系统默认环境的命令是:

deactivate

Python虚拟环境总结

(1)虚拟环境是干什么用的?

(2)Python3 官方自带的 venv 的使用

(3)在Python2下用virtualenvwrapper创建Python3.6的虚拟环境。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值