virtualenv使用说明

本文介绍如何使用virtualenv和virtualenvwrapper管理Python项目的独立环境,包括安装、环境创建与切换、包管理及IDE集成。

1. 简介

virtualenv可以用来管理互不干扰的独立python虚拟环境,在有些场景下非常有用,例如:

  • 你有两个python项目,一个是python2.7的,另一个是python3的,可以创建两个虚拟环境。
  • 你有两个python项目,都依赖与一个module的不同版本,可以创建两个不同的虚拟环境,里面安装这个module的不同版本。

virtualenvwrapper在virtualenv的基础上提供了一些更方便的命令。

2. 安装

sudo pip install virtualenv
sudo pip install virtualenvwrapper

在~/.bashrc里面加上:

export WORKON_HOME=/home/dev/virtualenv  #你创建的虚拟环境所放置的目录
source /usr/local/bin/virtualenvwrapper.sh

然后source ~/.bashrc,就可以使用了

3. 管理环境

首先我们创建一个python3的虚拟环境,当然系统里得先装好了python3。

mkvirtualenv -p python3 py3env

-p 后面的参数指定了python3(也有可能要换成python3.2/python3.4,具体要看你系统里面/use/bin/里面的文件是什么名字),如果去掉这个参数,就会使用系统默认的python。最后一个参数py3env是创建的这个环境的名字。

执行完了之后,会自动切换到这个新创建的虚拟环境。我们会发现命令行提示符会发生改变,例如在我的机器上:从 (py3env)user@vm-ubuntu1204 变成了 (py3env)user@vm-ubuntu1204 ,最前面多了这个虚拟环境的名字。

其他一些常用命令:

deactivate                # 退出当前虚拟环境
workon [虚拟环境名称]       # 使用某个虚拟环境
rmvirtualenv [虚拟环境名称] # 删除某个虚拟环境
lsvirtualenv              # 列出所有虚拟环境

4. 包管理

在实际使用中,我们会用pip来管理python的包,而在虚拟环境里的包是和系统里的包分离开的,虚拟环境之间的包也是隔离开的。

在生产环境中,我们可能需要将程序部署在很多机器上,如果能方便地把依赖的包同步到所有机器上能省去很多时间。

可以在开发机器上执行下面这个命令,来列出所有的包并保存到packages.txt,其中-l参数是只列出当前虚拟环境的包:

pip freeze -l > packages.txt

然后在部署到生产环境的时候,把packages.txt也复制到每个机器,并在每个机器上执行:

pip install -r packages.txt

5. 在pycharm中使用虚拟环境

在设置里面Project Interpreter,点击齿轮那个按钮,选择"Add Local",然后选择刚才创建的虚拟环境的路径。如下图所示:

6. 在虚拟环境中设置默认命令

有些时候,我们希望在进入虚拟环境之后执行某些命令,或者设置一些环境变量。

例如:在django运行的时候,可以通过环境变量DJANGO_SETTINGS_MODULE来指定配置文件的路径。

我们可以在虚拟环境目录下面创建文件bin/postactivate,并在文件里面写入:

export DJANGO_SETTINGS_MODULE=config.django.production

这个文件会在每次进入这个虚拟环境的时候被执行,这样这个参数就会被设置了。

除了postactivate以外,其他阶段也可以有这样的设置,参看:https://virtualenvwrapper.readthedocs.org/en/latest/scripts.html

7. 参考链接

两篇比较好的博文:

http://www.oschina.net/question/54100_26395
http://liuzhijun.iteye.com/blog/1872241

postactivate的用法:

http://stackoverflow.com/a/11134336

官方文档:

https://virtualenvwrapper.readthedocs.org/en/latest/

使用 `virtualenv` 创建和管理 Python 虚拟环境是进行 Python 开发时的一项基本技能。以下是详细的步骤说明,涵盖安装、创建、激活、退出以及删除虚拟环境的方法。 ### 安装 virtualenv 在开始之前,需要确保系统中已经安装了 `virtualenv` 工具。可以通过以下命令来安装: ```bash pip install virtualenv ``` ### 创建虚拟环境 创建虚拟环境的过程包括指定一个目录用于存放该环境,并可以选择性地指定所使用的 Python 解释器版本。例如,如果希望创建一个名为 `venv` 的新虚拟环境,并且想要使用特定版本的 Python(比如 Python 3.7),可以执行如下命令: ```bash virtualenv venv --python=C:\Python37\python.exe ``` 这里需要注意的是,路径 `C:\Python37\python.exe` 应该替换为你系统上实际存在的 Python 可执行文件的位置[^1]。 ### 激活虚拟环境 一旦虚拟环境被成功创建,下一步就是激活它。激活方式取决于操作系统: - **Windows**: ```bash .\venv\Scripts\activate ``` - **Unix 或 Linux**: ```bash source venv/bin/activate ``` 激活后,命令行提示符通常会显示虚拟环境的名字,表明你现在处于这个环境中。此时安装的所有包都将仅限于这个环境内。 ### 管理虚拟环境 在激活的虚拟环境中,你可以像平常一样使用 `pip` 来安装、升级或卸载软件包。例如: - 安装包: `pip install package_name` - 升级包: `pip install --upgrade package_name` - 卸载包: `pip uninstall package_name` 为了保持项目的清晰与可维护性,建议为每个项目单独创建并配置其专属的虚拟环境。 ### 退出虚拟环境 当你完成工作并准备离开当前的虚拟环境时,只需运行: ```bash deactivate ``` 这将恢复你的 shell 到全局的 Python 环境状态。 ### 删除虚拟环境 如果你不再需要某个虚拟环境,可以直接删除对应的文件夹。对于 Unix 用户来说,可能使用如下命令: ```bash rm -rf venv/ ``` 而 Windows 用户则可以通过资源管理器或者命令提示符中的 `rmdir` 命令来移除相应的文件夹[^1]。 通过以上步骤,你就可以有效地利用 `virtualenv` 来管理和组织不同的 Python 项目及其依赖项了。这种方法不仅有助于避免不同项目之间的依赖冲突,还能确保开发环境的一致性和简洁性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值