⑴ python虚拟环境—virtual environment
操作系统:ubuntu16.04
举个例子,tensorflow(tf)是一个十分流行的python机器学习库,你现在手里有两个tf项目,其中项目A需要使用 python2.7 + f1.2 ,项目B需要使用 python2.7 + tf1.6 .这两个项目你得同时进行,怎么办?
愚蠢的办法是需要运行项目A时,将python2.7中的tf1.6卸载掉,安装tf1.2;需要运行项目B时,将python2.7中的tf1.2卸载掉,安装tf1.6。如果是单个模块还好,但是tf的不同版本又依赖于python中的其他已安装模块,而且tf1.2和tf1.6对依赖模块有不同的版本要求,那么转换一次得卸载安装好几个模块,是不是很爆炸?
课题组里几个同门共用一台服务器,每个人拥有一个系统账户,其中只有一个人拥有root权限,里面每个人都需要使用python跑程序,而且每个人对python版本以及python模块的版本都有不同需求,很多人又没有root权限,如何解决?
使用python的虚拟环境可以轻松解决上面的问题!
python虚拟环境是一个隔离/独立的python开发环境,和系统python环境可以完全隔离,互不相关,相当于多了一个python开发环境。而且你在python虚拟环境中的开发过程和使用系统python一模一样,你可以在你创建的python虚拟环境中使用pip工具安装任何你需要的模块,该模块和系统python环境完全不相关。虚拟环境的这个特点就能解决上面的问题了。
python有两个模块可以用于创建和管理python虚拟环境:
其中,venv模块在python3.3以上的版本可以使用,而virtualenv在python2.7+和python3.3+都可以使用。
默认的系统python中是没有安装以上两个工具的,需要使用以下命令安装:
安装好之后,就可以使用这两个工具安装python虚拟环境了。
我的系统python版本有python2.7和python3.5,虚拟环境的版本只能是系统中已有的python版本。使用virtualenv安装虚拟环境的命令如下:
什么参数都不指定的话,它会使用 /usr/bin/python 路径下的python解释器版本,即python2.7。因此会默认安装python2.7虚拟环境, /home/yan/env 表示虚拟环境的安装路径。
如果你要安装的是python3.5的虚拟环境,可以这样:
一般情况下,上面两条命令就够了,这样安装得到的python虚拟环境和系统python环境是完全隔离的。
更多的命令选项可以在命令行中直接输入 virtualenv 命令获取。
venv只有python3可以使用,因此只能创建python3的虚拟环境,创建命令如下:
其中, python3 -m venv 是死命令,最后的安装路径自己指定。
注意: 以上两种安装方式在安装虚拟环境的同时也自动安装了pip工具。
安装好虚拟环境之后,每次使用该虚拟环境前需要使用 source 命令 激活 它。假设前面我在 /home/yan/env3/ 目录下安装了python3.5的虚拟环境,现在我使用以下命令激活它:
激活之后,在命令行提示符前面会有 (env3) 的提示,表示当前你处的python虚拟环境,比如我电脑的情况:
现在你可以在激活环境中干任何事情,比如使用pip命令在你新的python虚拟环境中安装模块:
或者执行python脚本。
使用完该虚拟环境之后,你需要在命令行输入 deactivate 命令来 退出 该虚拟环境:
之后就回到了正常的系统python环境中。
由于你创建该虚拟环境的目的是为了跑某个项目的程序,现在该项目做完了,不需要该虚拟环境了,你可以把该虚拟环境直接删除,如何删?
直接将创建虚拟环境时生成的文件夹删掉,就这么简单。比如我要把我刚才创建的env3虚拟环境删除:
在删除虚拟环境前记得一定得先退出该虚拟环境。
python虚拟环境的好处是:每个虚拟环境之间,以及虚拟环境和系统环境之间是完全隔离的,不同虚拟环境中,你可以安装不同版本的模块,就仿佛你可以同时拥有N多个不同的python开发环境。
唯一麻烦的一点是:每次进入某个虚拟环境之前,都要使用 source 命令激活。每次使用完,都要使用 deactivate 命令退出。
⑵ 虚拟环境怎么安装python3.0
安装Python,本文以Python3.4为例。关于如何安装Python3.4,请参考其他经验,本文不在重复赘述。
注意:将安装目录添加到环境变量中,否则无法在其他目录启动python。安装成功后截图如下所示:
进入Python安装目录中的脚本目录,本文目录为C:\Python34\Scripts,截图如下所示:
在脚本目录下启动命令行界面,输入命令dir,可以看到脚本目录下包含的工具,其中pip后面将要用到的命令,pip命令可以方便为python安装依赖包。
使用pip命令安装虚拟环境,命令为:pip install virtualenv,安装过程截图如下所示,
5
安装后的虚拟环境在脚本目录下,创建虚拟环境,命令为:virtualenv nv目录下创建名为test的文件夹,test文件夹下的组成如下图所示,
6
启动虚拟环境,进入虚拟环境目录在此目录下启动命令行界面,运行命令: .\Scripts\activate即启动虚拟环境,启动虚拟环境后在命令行界面下会出现虚拟环境的名称,提示用户已经进入虚拟环境,截图如下所示:
⑶ python 虚拟环境与包安装
随着python项目越来越多很容易出现库的混乱、污染,那么一个隔离的虚拟环境将使不同的项目互不干扰提高开发效率。
谨以此文作为个人安装笔记方便以后查阅。
安装虚拟环境库: virtualenv
在磁盘中创建一个文件夹用于存虚拟环境安装文件: D:\virtualenv
然后切换到该目录下,安装虚拟环境:
执行完命令之后,会自动生成一个 env 文件夹,里面包含了python所需的新解析环境
注意:
安装完虚拟环境之后还需要激活才可以使用,进入文件夹: D:\virtualenv\env\Scripts
命令行下直接输入:activate 或者 activate.bat
激活成功之后可以看到命令行多了一个 (env) 的前缀
关闭虚拟环境同样需要进入文件夹: D:\virtualenv\env\Scripts
命令行下直接输入:deactivate 或者 deactivate.bat
关闭之后可以看到命令行 (env) 的前缀取消了
为了便于在另一台电脑复刻当前python的库环境,可以使用pip的 freeze 的选项导出当前使用的所有库信息到 requirements.txt 中,
切换电脑时只需重新按文件安装库即可:
注意:
安装时需要确认当前所属环境的。假如是虚拟环境,则需要确保已激活。
【参考资料】