virtualenv

时间:2024-10-13 07:40:27编辑:阿星

linux环境下虚拟环境virtualenv的使用

注:Linux下默认未安装pip,需要手动安装pip命令。 安装完成后,可以使用 virtualenv 命令创建放置虚拟环境的目录: -p PYTHON_EXE, --python=PYTHON_EXE 指定生成的虚拟环境使用的Python解释器: ENV/lib 和 ENV/include 目录中包含了虚拟环境ENV使用的库文件。在虚拟环境中安装的第三方包会安装在 ENV/lib/python3.4/site-packages 目录下。 ENV/bin 目录里面放置了可执行文件,在里面有新安装的Python 包中的可执行程序,包括pip等相关工具。 默认情况下,虚拟环境会依赖系统环境中的 sit package,就是说系统中已经安装好的第三方 package 也会安装在虚拟环境中,如果不想依赖这些 package,那么可以加上 --no-site-packages 参数建立虚拟环境。 新创建的虚拟环境目录中有一个启动脚本 ENV/bin/activate ,直接使用 source 命令来启动虚拟环境。 退出当前虚拟环境使用 deactivate 命令。 此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/local/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,里面有安装步骤,我们照着操作把环境设置好。 设置环境变量 lsvirtualenv : 列出虚拟环境列表(个人喜欢用第二个) workon+Enter: 列出虚拟环境列表 mkvirtualenv [虚拟环境名称]: 新建虚拟环境 workon [虚拟环境名称]: 切换虚拟环境 rmvirtualenv [虚拟环境名称]: 删除虚拟环境 deactivate: 离开虚拟环境

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 命令退出。

VIRTUALENV(虚拟环境)

当开发成员负责多个项目的时候,每个项目安装的库又是有很多差距的时候,会使用虚拟环境将每个项目的环境给隔离开来。比如,在有一个老项目已经开发维护了3年了,里面很多库都是比较老的版本了。例如python使用的是2.7版本的。但是新项目使用的python版本是3.6的。为了解决这种项目执行环境的冲突,所以引入了虚拟环境virtualenv。   当然除了virtualenv可以起到隔离环境的作用,还有其他技术方案来实现,而且上线流程简单,大大减轻运维人员的出错率,比如每一个项目使用一个docker镜像,在镜像中去安装项目所需的环境,库版本等等。 3.配置python环境和pip环境 注:现在在python的安装文件夹Scripts下就有pip.exe以及easy_install.exe等可执行文件了,就可以使用pip安装啦~ 1、安装virtualenv pip3 install virtualenv 注意:此处需要使用管理员权限,否则会报权限之类的错误。如下图是我切换至管理员权限之后再次执行该命令的界面: 2、创建一个新的虚拟环境 virtualenv --no-site-packages djenv 命令注释:virtualenv -参数 新的虚拟环境的名称 提示:此处一般需要指定的是-p(python环境地址)和--no-site-packages(不使用本机已经安装的包)。因为我的是默认路径,使用P参数的时候地址报错,就想到直接使用环境变量中的地址。即不指定,忽略-p,如上图猜想成功。下图为标识出需要指定的参数。 3、查看环境中安装的包命令 pip list pip freeze 进入退出命令 安装virtualenv apt-get install python-virtualenv 创建包含python3版本的虚拟环境 virtualenv -p /usr/bin/python3 env env代表创建的虚拟环境的名称 参考

上一篇:天才枪手 豆瓣

下一篇:没有了