永发信息网

python部署可以用虚拟环境吗

答案:3  悬赏:20  手机版
解决时间 2021-04-19 00:30
python部署可以用虚拟环境吗
最佳答案
Python部署虚拟环境的利器——Virtualenv
virtualenv is a tool to create isolated Python environments.
virtualenv 是创建独立Python开发环境的工具,用于解决同一台机器上不同的Python工程的依赖、版本以及间接权限等问题。比如项目foo1依赖Django1.3,而项目foo2依赖Django1.7,而当前全局开发环境为Django1.8,版本的不同会导致项目所需包的版本不兼容等问题,使项目无法正常运行,使用virtualenv来创建相对独立的虚拟环境,可以很好的解决此类问题。此外,值得一提的是,对于项目打包迁移,如部署Web应用项目等应用场景,virtualenv都很有用武之地。
virtualenv创建一个拥有自己安装目录的环境, 这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库。
下面介绍一下与使用Virtualenv相关的技巧。
1.安装Virtualenv
$ pip install virtualenv
//或者由于权限问题使用sudo临时提升权限
$ sudo pip install virtualenv

2.virtualenv创建虚拟环境
1 virtualenv ENV
2 #创建一个名为ENV的目录,并安装了ENV/bin/python
3 #创建了lib,include,bin目录,安装了pip

lib目录 : 所有安装的python库都会放在这个目录中的lib/pythonX.X/site-packages/中 ;
bin目录 : bin/python是当前虚拟环境使用的python解析器 ;
如果在命令行中运行virtualenv --system-site-packages ENV, 会继承/usr/lib/python3.6/site-packages下的所有库, 最新版本virtualenv把把访问全局site-packages作为默认行为
default behavior.
3.激活virtualenv
1 #ENV目录下使用如下命令
2 source ./bin/activate #激活当前virtualenv
3 #当用户名前面出现小括号括起来的虚拟环境名时,表明虚拟环境被成功激活

使用“pip list”指令可查看当前库
4.关闭virtualenv
deactivate

5.指定python版本
可使用-p PYTHON_EXE选项在创建虚拟环境的时候指定Python版本
1 #创建python2.7虚拟环境
2 virtualenv -p /usr/bin/python2.7 ENV2.7
3
4 #创建python3.4虚拟环境
5 virtualenv -p /usr/local/bin/python3.4 ENV3.4

这样可以解决不同项目python版本冲突以及和python库版本不兼容等问题。
6.生成可打包环境
某些特殊需求下,可能没有网络,我们希望直接打包一个ENV,解压后直接使用,这时候可以使用virtualenv --relocatable指令将ENV修改为可更改位置的ENV
#对当前已经创建的虚拟环境更改为可迁移
virtualenv --relocatable ./

7.获得帮助
virtualenv -h
全部回答
可以。 只要支持Python运行并且网络可达就可以。
安装python,本文以python3.4为例。关于如何安装python3.4,请参考其他经验,本文不在重复赘述。 注意:将安装目录添加到环境变量中,否则无法在其他目录启动python。安装成功后截图如下所示: 进入python安装目录中的脚本目录,本文目录为c:\python34\scripts,截图如下所示: 在脚本目录下启动命令行界面,输入命令dir,可以看到脚本目录下包含的工具,其中pip后面将要用到的命令,pip命令可以方便为python安装依赖包。 使用pip命令安装虚拟环境,命令为:pip install virtualenv,安装过程截图如下所示, 安装后的虚拟环境在脚本目录下,创建虚拟环境,命令为:virtualenv d:\project\python\venv\test,将在d:\project\python\venv目录下创建名为test的文件夹,test文件夹下的组成如下图所示, 6 启动虚拟环境,进入虚拟环境目录virtualenv d:\project\python\venv\test,在此目录下启动命令行界面,运行命令: .\scripts\activate即启动虚拟环境,启动虚拟环境后在命令行界面下会出现虚拟环境的名称,提示用户已经进入虚拟环境,截图如下所示: 7 在启动虚拟环境的情况下,安装的依赖包全部基于当前的虚拟环境,不会干扰其他的虚拟环境。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
四十年后知青回乡标语,知青下乡的标语有哪些
Lucy sings as well as,if _____ her sister.
革命红色口号,下面句子中的标点符号,使用不正
形容春天雨水多的诗句,形容雨多的句子
生豆芽时,产生的气体是什么?对人体有害吗?
爱国梦想标语,梦想之队的口号
电信网络有哪些,网络教育大学有哪些学校?
350(1-x)平方=224
什么是“放射线”??
遮天里的大帝应该都没死
关于配音如何去掉古风腔
赛维OTDR 有谁用过 看到移动公司买的 大约多
面试期待薪资怎么回答,面试时如何回答“你的
什么是订单交付周期?
本人姓陈今年17岁,女,九月上大学,我想改名
推荐资讯
进程是什么意思,怎样关闭微信后台程序? 5分
如皋大润发附近有什么好吃的
李清照祝福新婚的诗词,2015年儿子结婚祝福语
解除合同,辞职和辞退的区别?求解
科鲁兹黄色扳手灯亮!!!
美术高考综合分是什么,高考艺术生想上一本或
法伦大发好下句是什么,什么样的句子才能算是
公共标志用英语怎么说,一个公共标志用英语怎
手游问道怎么交易金币,问道手游怎么交易物品
天刀霸业是什么,天刀怎么用四级灵玉兑换三件
古诗词朗诵网,谁能提供一个古诗词的网站啊?
什么时候是添加抢车位的最佳时间?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?