Python工具之virtualenv

工欲善其事必先利其器,我们在python开发过程中经常会碰到以下问题:

  1. 两个python程序,一个需要Flask1.1版本,另一个需要Flask1.2版本,这时候你怎么办?

  2. 当你开发某个程序而更新了系统里面python默认路径下的某些库,从而导致其他Python程序可能用不了了。

  3. 使用云主机时候,你没有root权限,你是写不了文件进Python的默认文件夹的。

这时候我们怎么办?

使用virtualenv,它能够创建一个虚拟环境,隔离系统的python环境,单独提供项目所需库。它会在项目根目录下创建一个文件夹,然后把系统的默认的python复制过来,并且该项目的所有第三方库都将安装到这个文件夹下面,这样就有了隔离的环境。

安装

推荐使用pip安装

pip install virutalenv

操作

安装完成后我们来到项目的根目录下执行:

virtualenv venv

这样我们便创建了一个venv文件夹,里面存了Python的副本,以后我们安装第三方库都会自动安装到这个文件夹里面。

当然,创建文件夹后,我们还得激活这个Python虚拟环境:
windows:

venv\Scripts\activate.bat

Linux/Mac:

source venv/bin/activate

此时,就进入了一个隔离的环境,安装,卸载和使用模块,都会在venv环境中,而不会影响系统和其他环境。
激活后可以看到终端的界面当前目录被加了venv的字段:

(venv) zyptekiiMac:test zyp$

这样就代表以及进入虚拟环境了,我们在这个环境内使用pip安装的包都将被安装到venv文件夹下面,感兴趣的同学可以点开目录看看。

另外如果不想使用系统的包,加上–no-site-packeages参数

virtualenv --no-site-packages venv

使用这个是因为有时候系统已经含有某些包,这时候你使用pip安装就会默认使用系统的库,你就和系统使用同样的库了,有可能你的项目会受影响,所以我建议大家都使用这样方式去完全独立虚拟环境,避免受到干扰。

另外还有一点,我们在这个公司电脑上安装了某些库,回到家后要重新运行该项目,你难道又要我重新一个一个的安装一遍吗?这不可能的,这辈子都不可能的。

我们使用如下命令,把pip安装的库都写到一个文件中

pip freeze > ./requirement.txt

然后我们看看这个文件内容:

click==6.7
dominate==2.3.1
Flask==1.0.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
visitor==0.1.3
Werkzeug==0.14.1

这样就自动帮我们把要求的库的名字、版本号都写入到文件中了,回到家中你只要执行:

pip install -r ./requirement.txt

pip就会自动帮你循环安装requirement.txt文件中指定的库。

最后退出虚拟环境:

deactivate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值