Virtualenv 快速上手指南
程序员文章站
2022-03-30 16:33:59
...
1. virtualenv概述
virtualenv
通过创建独立Python开发环境的工具,来解决依赖、版本以及间接权限问题。比如一个项目依赖Django1.3 而当前全局开发环境为Django1.7,版本跨度过大, 导致不兼容使项目无法正在运行,使用virtualenv可以解决这些问题。
virtualenv
创建一个拥有自己安装目录的环境,这个环境不与其他虚拟环境共享库, 能够方便的管理python版本和管理python库。
2. 安装Virtualenv
使用pip
安装Virtualenv
$ pip install virtualenv $ sudo pip install virtualenv #或者由于权限问题使用sudo临时提升权限
- 1
- 2
3. virtualenv基本使用
3.1 使用virtualenv创建python环境
$ virtualenv test #创建一个名为test的目录,并且安装了bin/python和bin/pip,创建了lib,include,bin目录 Using base prefix '/usr' New python executable in /home/zhangchengfei/test/bin/python3 Also creating executable in /home/zhangchengfei/test/bin/python Installing setuptools, pip, wheel...done.$ cd test$ ll drwxrwxr-x 2 zhangchengfei zhangchengfei 4096 5月 24 19:37 bin/ drwxrwxr-x 2 zhangchengfei zhangchengfei 4096 5月 24 19:37 include/ drwxrwxr-x 3 zhangchengfei zhangchengfei 4096 5月 24 19:37 lib/ -rw-rw-r-- 1 zhangchengfei zhangchengfei 60 5月 24 19:37 pip-selfcheck.json
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
-
lib
,所有安装的python库都会放在这个目录中的lib/pythonx.x/site-packages/下 -
bin
,bin/python是在当前环境是使用的python解释器
如果在命令行中运行virtualenv --system-site-packages test
,会继承/usr/lib/python2.7/site-packages
下的所有库,最新版本virtualenv把访问全局site-packages作为默认行为。
3.2 **virtualenv
-
test目录下使用如下命令
$ source ./bin/activate # **当前virtualenv(test) $ # 注意终端发生了变化
- 1
- 2
-
使用
pip
查看当前库,显示依赖并生成requirement文件(test) $ pip listpip (8.1.2)setuptools (21.2.1)wheel (0.29.0) # 现在只有这三个pip freeze # 显示所有依赖pip freeze > requirement.txt # 生成requirement.txt文件pip install -r requirement.txt # 根据requirement.txt生成相同的环境
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3.3 关闭virtualenv
-
使用下面命令
$ deactivate
- 1
3.4 指定python版本
-
可以使用
-p PYTHON_EXE
选项在创建虚拟环境的时候指定python版本# 创建python2.7虚拟环境$ virtualenv -p /usr/bin/python2.7 test Running virtualenv with interpreter /usr/bin/python2.7 New python executable in /home/zhangchengfei/test/bin/python2.7 Not overwriting existing python script /home/zhangchengfei/test/bin/python (you must use /home/zhangchengfei/test/bin/python2.7) Installing setuptools, pip, wheel...done.# 创建python3.4虚拟环境$ virtualenv -p /usr/local/bin/python3.4 test Running virtualenv with interpreter /usr/bin/python3.4 Using base prefix '/usr' New python executable in /home/zhangchengfei/test/bin/python3.4 Also creating executable in /home/zhangchengfei/test/bin/python Installing setuptools, pip, wheel...done.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
4. 生成可打包环境
-
某些特殊需求下,可能没有网络,我们期望直接打包一个test,可以解压后直接使用,这时候可以使用
virtualenv -relocatable
指令将test修改为可更改位置的test# 对当前已经创建的虚拟环境更改为可迁移[test]$ virtualenv --relocatable ./ Making script /home/zhangchengfei/test/bin/wheel relative Making script /home/zhangchengfei/test/bin/pip3 relative Making script /home/zhangchengfei/test/bin/pip relative Making script /home/zhangchengfei/test/bin/easy_install-3.4 relative Making script /home/zhangchengfei/test/bin/pip3.4 relative Making script /home/zhangchengfei/test/bin/python-config relative Making script /home/zhangchengfei/test/bin/easy_install relative
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
【完】
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow