# 安裝
## 獲取Airflow
安裝最新穩定版Airflow的最簡單方法是使用`pip` :
```
pip install apache-airflow
```
您還可以安裝Airflow的一些別的支持功能組件,例如 ``s3`` 或者 ``postgres``:
```
pip install apache-airflow [ postgres,s3 ]
```
注意
GPL依賴
默認情況下獲取Apache Airflow的其中一個依賴項是在GPL庫中的('unidecode')。 如果在安裝的時候出現問題,您可以通過設置`export SLUGIFY_USES_TEXT_UNIDECODE=yes`來強制使用非GPL庫,然后繼續正常地進行安裝。請注意,每次升級都需要指定!另外也請注意,如果系統上已經存在*unidecode*,那么這個依賴關系仍將被使用。
## 額外的擴展包
通過PyPI的 `apache-airflow` 命令下載的基本包只含有啟動的基礎部分內容。您可以根據您環境的需要下載您的擴展包。例如,如果您不需要連接Postgres,那么您就不需要使用yum命令安裝 `postgres-devel`,或者在您使用的系統上面安裝postgre應用,并在安裝中的經歷一些痛苦過程。。
除此之外,Airflow可以按照需求導入這些擴展包來使用。
如下是列舉出來的子包列表和他的功能:
| 包名 | 安裝命令 | 說明 |
| :------| :------ | :------ |
| all | `pip install apache-airflow[all]` | 所有Airflow功能 |
| all_dbs | `pip install apache-airflow[all_dbs]` | 所有集成的數據庫 |
| async | `pip install apache-airflow[async]` | Gunicorn的異步worker classes |
| devel | `pip install apache-airflow[devel]` | 最小開發工具要求 |
| devel_hadoop | `pip install apache-airflow[devel_hadoop]` | Airflow + Hadoop stack 的依賴 |
| celery | `pip install apache-airflow[celery]` | CeleryExecutor |
| crypto | `pip install apache-airflow[crypto]` | 加密元數據db中的連接密碼 |
| druid | `pip install apache-airflow[druid]` | Druid.io 相關的 operators 和 hooks |
| gcp_api | `pip install apache-airflow[gcp_api]` | Google 云平臺 hooks 和operators(使用`google-api-python-client` ) |
| jdbc | `pip install apache-airflow[jdbc]` | JDBC hooks 和 operators |
| hdfs | `pip install apache-airflow[hdfs]` | HDFS hooks 和 operators |
| hive | `pip install apache-airflow[hive]` | 所有Hive相關的 operators |
| kerberos | `pip install apache-airflow[kerberos]` | Kerberos集成Kerberized Hadoop |
| ldap | `pip install apache-airflow[ldap]` | 用戶的LDAP身份驗證 |
| mssql | `pip install apache-airflow[mssql]` | Microsoft SQL Server operators 和 hook,作為Airflow后端支持 |
| mysql | `pip install apache-airflow[mysql]` | MySQL operators 和 hook,支持作為Airflow后端。 MySQL服務器的版本必須是5.6.4+。 確切的版本上限取決于`mysqlclient`包的版本。 例如, `mysqlclient` 1.3.12只能與MySQL服務器5.6.4到5.7一起使用。 |
| password | `pip install apache-airflow[password]` | 用戶密碼驗證 |
| postgres | `pip install apache-airflow[postgres]` | Postgres operators 和 hook,作為Airflow后端支持 |
| qds | `pip install apache-airflow[qds]` | 啟用QDS(Qubole數據服務)支持 |
| rabbitmq | `pip install apache-airflow[rabbitmq]` | rabbitmq作為Celery后端支持 |
| s3 | `pip install apache-airflow[s3]` | `S3KeySensor` , `S3PrefixSensor` |
| samba | `pip install apache-airflow[samba]` | `Hive2SambaOperator` |
| slack | `pip install apache-airflow[slack]` | `SlackAPIPostOperator` |
| vertica | `pip install apache-airflow[vertica]` | 做為Airflow后端的 Vertica hook 支持 |
| cloudant | `pip install apache-airflow[cloudant]` | Cloudant hook |
| redis | `pip install apache-airflow[redis]` | Redis hooks 和 sensors |
## 初始化Airflow數據庫
在您運行任務之前,Airflow需要初始化數據庫。 如果您只是在試驗和學習Airflow,您可以堅持使用默認的SQLite選項。 如果您不想使用SQLite,請查看[初始化數據庫后端](howto/initialize-database.html)以設置其他數據庫。
配置完成后,您需要先初始化數據庫,然后才能運行任務:
```
airflow initdb
```