使用场景
一般使用python安装第三方包时,都会统一安装在用户目录下的site-packages
里面。比如我的包会安装在:/home/cer/anaconda2/envs/py36/lib/python3.6/site-packages
。
但当你开发一个项目时,你可能需要指定的第三方包的的某个版本;或者你的项目需要经常迁移、部署。
这个时候你可以选择将依赖都写在requirements.txt
里面,使用pip install -r requirements.txt
随用随装。
但如果你的部署环境下有很多python项目,你不希望将其他项目的依赖包的版本发生变化;或者你的部署环境不能随意连接外网,或者其他场景你需要带着你本地的环境到部署环境,你可以使用virtualenv
,将第三方包装在项目路径下,跟着你的项目一起旅行。
安装
1 | pip install virtualenv |
使用
先创建一个测试的项目路径:
1 | mkdir test_project |
创建一个独立的运行环境,名字叫venv
:
1 | virtualenv --no-site-packages venv |
1 | Using base prefix '/home/cer/anaconda2/envs/py36' |
可以看到多了一个venv
目录,里面已经装了python3.6
,且没有带site-packages
里面已经装好的包。
还有一个常用的参数是-p python3.6
可以指定python的版本。
1 | ls -l venv |
1 | total 12 |
使用venv
里的环境:
1 | source ./venv/bin/activate |
然后就可以使用pip
在里面装你想要的东西。
如果想退出虚拟环境,只需:
1 | deactivate |