安裝 PyArrow#

系統相容性#

PyArrow 定期在 Windows、macOS 和各種 Linux 發行版上建置和測試。我們強烈建議使用 64 位元系統。

Python 相容性#

PyArrow 目前與 Python 3.9、3.10、3.11、3.12 和 3.13 相容。

使用 Conda#

使用 Condaconda-forge 安裝最新版本的 PyArrow

conda install -c conda-forge pyarrow

注意

雖然 pyarrow conda-forge 套件是大多數使用者的正確選擇,但該套件存在最小和最大變體,其中任何一種可能更適合您的使用案例。請參閱conda-forge 套件之間的差異

使用 Pip#

PyPI 安裝最新版本 (Windows、Linux 和 macOS)

pip install pyarrow

如果您在 Windows 上遇到 pip wheel 的任何匯入問題,您可能需要安裝 Visual Studio 2015 的 Visual C++ 可轉散發套件

警告

在 Linux 上,您需要 pip >= 19.0 才能偵測預先建置的二進位套件。

安裝 nightly 套件或從原始碼安裝#

請參閱Python 開發

相依性#

選用相依性

  • NumPy 1.16.6 或更高版本。

  • pandas 1.0 或更高版本,

  • cffi.

PyArrow 相容的其他套件包括 fsspecpytzdateutiltzdata 套件 (用於時區)。

Windows 上的 tzdata#

雖然 Arrow 在 Linux 和 macOS 上使用作業系統提供的時區資料庫,但在 Windows 上需要使用者提供的資料庫。若要下載並解壓縮 IANA 時區資料庫的文字版本,請依照 C++ 執行階段相依性 中的指示,或使用 pyarrow 公用程式函數 pyarrow.util.download_tzdata_on_windows() 執行相同的操作。

預設情況下,時區資料庫將在 %USERPROFILE%\Downloads\tzdata 中偵測到。如果資料庫已下載到不同的位置,您需要從 Python 設定資料庫的自訂路徑

>>> import pyarrow as pa
>>> pa.set_timezone_db_path("custom_path")

conda-forge 套件之間的差異#

conda-forge 上,PyArrow 以三個獨立的套件發佈,每個套件提供不同程度的功能。這與 PyPi 不同,PyPi 僅提供單一 PyArrow 套件。

此拆分的目的是為了盡可能縮小大多數使用者 (pyarrow) 安裝的套件大小,為特殊使用案例 (pyarrow-core) 提供更小的最小套件,同時仍為需要它的使用者 (pyarrow-all) 提供完整的套件。歷史上 conda-forge 上的 pyarrow 現在是 pyarrow-all,但大多數使用者可以繼續使用 pyarrow

pyarrow-core 套件包含以下功能

pyarrow 套件新增了以下內容

  • Acero (即 pyarrow.acero)

  • 表格資料集 (即 pyarrow.dataset)

  • Parquet (即 pyarrow.parquet)

  • Substrait (即 pyarrow.substrait)

最後,pyarrow-all 新增了

  • Arrow Flight RPC 和 Flight SQL (即 pyarrow.flight)

  • Gandiva (即 pyarrow.gandiva)

下表列出每個套件提供的功能,當您決定使用某個套件而不是另一個套件,或當建立自訂選取時,可能會很有用。

組件

套件

pyarrow-core

pyarrow

pyarrow-all

核心

pyarrow-core

Parquet

libparquet

資料集

libarrow-dataset

Acero

libarrow-acero

Substrait

libarrow-substrait

Flight

libarrow-flight

Flight SQL

libarrow-flight-sql

Gandiva

libarrow-gandiva

建立自訂選取#

如果您知道您需要哪些組件並想要控制安裝的內容,您可以建立自訂的套件選取,僅包含您需要的額外功能。例如,若要安裝 pyarrow-core 並新增對讀取和寫入 Parquet 的支援,請同時安裝 libparquetpyarrow-core

conda install -c conda-forge pyarrow-core libparquet

或者,如果您希望使用 pyarrow 但需要 Flight RPC 的支援

conda install -c conda-forge pyarrow libarrow-flight