安装或设置
虚拟环境工具( virtualenv )用于通过为每个项目创建单独的 python 环境来隔离不同的项目及其依赖项。这就像在本地(而不是全局)安装软件包,类似于 npm 软件包安装选项 。以下是安装和测试 virtualenv 以创建两个项目的示例(Project1-A Django 应用程序和 Project2-A Flask 应用程序):
- 最初检查 virtualenv 是否已安装
$ virtualenv --version - 运行
$ pip install virtualenv(适用于 Mac 和 Linux)或$ sudo apt-get install python-virtualenv适用于 Ubuntu,easy_install适用于 Windows 安装 python 环境。 $ mkdir Project1和$ cd Project1- 运行
$ virtualenv venvp1,这将在 Project1 目录中创建一个 venvp1 文件夹。 - 要激活环境,请运行
source venvp1/bin/activate(如果是 Linux)和venvp1\Scripts\activate(如果是 Windows)并且提示将更改为(venvp1)Your-Computer:your_project UserName$) - 运行
pip install Django为 project1 和deactivate(如果需要)安装 Django 以返回到全局环境。 - 对 Flask 应用程序重复步骤 3-6,使用不同的目录,virtualenv 名称和
pip install Flask来安装 Flask。
一旦执行了上述步骤(没有任何错误),就可以(可能和)同时在两个环境之间工作而没有任何冲突。
笔记:
- virtualenvwrapper 是另一个方便的工具,它是 virtualenv 的扩展版本,虽然两者的安装过程几乎相同。
- 使用
--no-site-packages执行virtualenv命令会排除全局安装的软件包。 - 冻结当前的环境状态运行
$ pip freeze > installedpkgp1.txt。此文本文件包含当前环境中已安装软件包(包括其版本)的列表。如果需要在不同的文件夹(或机器)中部署相同的环境,只需执行命令$ pip install -r installedpkgp1.txt就可以创建相同的环境。 - 有用的命令:
lsvirtualenv- 所有环境的列表cdvirtualenv- goto 当前激活的虚拟环境cdsitepackages- 和以前一样,但是直接去site-packages目录lssitepackages- 显示site-packages目录的内容