Python最佳实践之virtualenv

36 sec read

virtualenv是一个能把你的应用隔离在一个虚拟环境中的工具。 一个虚拟环境是一个包含了你的应用依赖的软件的文件夹。简单的描述virtualenv的作用:

  • virtualenv可以让你给不同的项目指定同样的依赖包的不同版本。
  • virtualenv可以让你方便的在多台服务器上部署相同的以来环境。

virtualenv的安装非常简单,只需 pip install virtualenv 即可。

一、如何使用virtualenv构建独立的虚拟环境?

1、virtualenv的安装

2、创建虚拟环境

首先到使用命令行移动到想要存在虚拟环境的文件夹,然后执行:

其中myenv是存在所有虚拟环境的文件夹,在执行完命令后就myenv的文件夹下就生成了一个venv的文件夹,这个文件夹即为本次生成的虚拟环境。

3、激活虚拟环境

Linux环境下可以通过如下命令激活:

而Windows下的激活命令是:

你也许注意到了,你的shell提示符发生了改变。 virtualenv在它前面添加了当前被激活的virtual environment,所以你能意识到你并不存在于全局系统环境中。

当一个virtual environment被激活后,在虚拟环境下使用pip安装的包都会安装到virtual environment中而不是全局系统环境。

如果你想离开virtual environment,在命令行中执行deactivate即可:

二、如何迁移virtualenv构建独立的虚拟环境?

比如说想把开发环境迁移到线上环境,方法非常的简单:

1、生成目前所在虚拟环境的所有依赖包信息

同时会在刚在命令行所在的目录下生成一个requirements.txt文件,文件中的内容和上述返回的内容一致。

2、在新的服务器的虚拟环境中批量安装requirements.txt的包。

随着项目增长,你可能会发现pip freeze中列出的每一个包并不再是运行应用所必须的了。 也许有些包只是在开发时用得上。pip freeze没有判断力;它只是列出了当前安装的所有的包。所以你只能手动记录依赖的变动了。 你可以把运行应用所需的包和开发应用所需的包分别放入对应的require_run.txt和require_dev.txt。

注意:在freeze或install依赖包时,确保你正为于正确的virtual environment之中。

三、使用virtualenvwrapper更加方便的管理虚拟环境

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

  • 将所有虚拟环境整合在一个目录下
  • 管理(新增,删除,复制)虚拟环境
  • 切换虚拟环境

在安装Virtaulenvwrapper之前,首先要确保已经安装了virtualenv。

Linux下安装命令:

安装完成后并不能直接使用virtualenvwrapper,还需要进一步进行环境设置:

创建目录用来存放虚拟环境: mkdir $HOME/Envs

编辑 ~/.bashrc,在文件最后追加如下内容:

运行: $ source ~/.bashrc 保存配置信息。此时virtualenvwrapper就可以使用了。virtualenvwrapper的基本使用方式:

  • 列出虚拟环境列表: workon 或者 lsvirtualenv
  • 新建虚拟环境:  mkvirtualenv [虚拟环境名称]
  • 启动/切换虚拟环境: workon [虚拟环境名称]
  • 删除虚拟环境: rmvirtualenv [虚拟环境名称]
  • 离开虚拟环境: deactivate

Windows下安装命令:

pip install virtualenvwrapper-win

参考链接:

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

C语言学习:size_t

在学习C语言的时候,遇到了一个新的数据类型size_t,截止目前也没有完全理清这个类似的具体场景及出现的原因。
44 sec read

C语言学习:main()函数的正确写法

C语言虽然是一门古老的语言,但是其标准一直在完善,所以很多以前支持的语法在到当前已经不能在使用了。 C语言的版
41 sec read

Scipy数学函数的Scala实现

最近在推进项目的时候,遇到需要将线下的Python代码转化成线上的集群代码,由于机器代码环境是Scala,所以
4 min read

2 Replies to “Python最佳实践之virtualenv”

  1. python3.3以上版本集成了pyvenv,可以不用安装virtualenv了

发表评论

电子邮件地址不会被公开。 必填项已用*标注