freeCodeCamp/guide/chinese/python/virtual-environments/index.md

148 lines
3.8 KiB
Markdown
Raw Normal View History

---
title: Virtual Environments
localeTitle: 虚拟环境
---
## 虚拟环境
虚拟环境可以描述为隔离的安装目录。这种隔离允许您本地化项目依赖项的安装,而不必强制您在系统范围内安装它们。
想象一下你有两个应用程序App1和App2。两者都需要包Pak但有不同的版本。如果您为App1安装Pak版本2.3您将无法运行App2因为它需要3.1版。这是虚拟环境派上用场的时候。
优点:
* 您可以拥有多个环境,包含多组软件包,它们之间没有冲突。这样,可以同时满足不同项目的要求。
* 您可以使用自己的相关模块轻松发布项目。
您可以通过以下两种方式创建Python虚拟环境。
## VIRTUALENV
[`virtualenv`](https://virtualenv.pypa.io/en/stable/)是一个用于创建独立Python环境的工具。它创建了一个文件夹其中包含使用Python项目所需的所有必需的可执行文件。
你可以用`pip`安装它:
```
pip install virtualenv
```
使用以下命令验证安装:
```
virtualenv --version
```
### 创建一个Environemnt
要创建虚拟环境,请使用:
```
virtualenv --no-site-packages my-env
```
这将在当前目录中创建一个文件夹,其中包含环境名称( `my-env/` 。此文件夹包含用于安装模块和Python可执行文件的目录。
您还可以指定要使用的Python版本。只需使用参数`--python=/path/to/python/version` 。例如, `python2.7`
```
virtualenv --python=/usr/bin/python2.7 my-env
```
### 列出环境
您可以列出可用的环境:
```
lsvirtualenv
```
### 激活环境
在开始使用环境之前,您需要激活它:
```
source my-env/bin/activate
```
这确保仅使用`my-env/`下的包。
您会注意到环境的名称显示在提示的左侧。这样您就可以看到哪个是活动环境。
### 安装包
您可以逐个安装软件包,也可以为项目设置`requirements.txt`文件。
```
pip install some-package
pip install -r requirements.txt
```
如果要从已安装的软件包创建`requirements.txt`文件,请运行以下命令:
```
pip freeze > requirements.txt
```
该文件将包含当前环境中安装的所有软件包的列表及其各自的版本。这将帮助您使用自己的相关模块发布项目。
### 停用环境
如果您已完成虚拟环境的使用,则可以使用以下命令停用它:
```
deactivate
```
这将使您回到系统的默认Python解释器及其所有已安装的库。
### 删除环境
只需删除环境文件夹即可。
## 康达
[`Conda`](https://conda.io/docs/index.html)是许多语言包括Python的包依赖和环境管理。
要安装Conda请按照以下[说明操作](https://conda.io/docs/user-guide/install/index.html) 。
### 创建一个环境
要创建虚拟环境,请使用:
```
conda create --name my-env
```
Conda将在Conda安装目录中创建相应的文件夹。
您还可以指定要使用的Python版本
```
conda create --name my-env python=3.6
```
### 列出环境
您可以列出所有可用的环境:
```
conda info --envs
```
### 激活环境
在开始使用环境之前,您需要激活它:
```
source activate my-env
```
### 安装包
与`virtualenv`相同。
### 停用环境
如果您已完成虚拟环境的使用,则可以使用以下命令停用它:
```
source deactivate
```
### 删除环境
如果要从Conda中删除环境请使用
```
conda remove --name my-env
```
#### 更多信息:
* `virtualenv` [官方网站](https://virtualenv.pypa.io/en/stable/)
* `Conda` [官方网站](https://conda.io/docs/index.html)
* [Hitchhicker的](http://docs.python-guide.org/en/latest/dev/virtualenvs/) `The Hitchhicker's Guide to Python` - [Pypenv和虚拟环境](http://docs.python-guide.org/en/latest/dev/virtualenvs/)