| .. ################################################################################ | |
| Licensed to the Apache Software Foundation (ASF) under one | |
| or more contributor license agreements. See the NOTICE file | |
| distributed with this work for additional information | |
| regarding copyright ownership. The ASF licenses this file | |
| to you under the Apache License, Version 2.0 (the | |
| "License"); you may not use this file except in compliance | |
| with the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| ################################################################################ | |
| Installation | |
| ============ | |
| Environment Requirements | |
| ------------------------ | |
| .. note:: | |
| Python version (3.9, 3.10, 3.11, 3.12 or 3.13) is required for PyFlink. Please run the following command | |
| to make sure that it meets the requirements: | |
| .. code-block:: bash | |
| $ python --version | |
| # the version printed here must be 3.9, 3.10, 3.11, 3.12 or 3.13 | |
| Environment Setup | |
| ----------------- | |
| Your system may include multiple Python versions, and thus also include multiple Python binary executables. | |
| You can run the following ``ls`` command to find out what Python binary executables are available in your system: | |
| .. code-block:: bash | |
| $ ls /usr/bin/python* | |
| To satisfy the PyFlink requirement regarding the Python environment version, you can choose to soft link ``python`` to point to your ``python3`` interpreter: | |
| .. code-block:: bash | |
| ln -s /usr/bin/python3 python | |
| In addition to creating a soft link, you can also choose to create a Python virtual environment (``venv``): | |
| .. code-block:: bash | |
| python -m venv myenv | |
| source myenv/bin/activate # On Windows: myenv\Scripts\activate | |
| You can refer to the :flinkdoc:`Deployment Preparation <docs/deployment/resource-providers/standalone/overview/>` documentation page for details on how to achieve that setup. | |
| If you don't want to use a soft link to change the system's ``python`` interpreter point to, you can use the configuration way to specify the Python interpreter. | |
| For specifying the Python interpreter used to compile the jobs, you can refer to the configuration :doc:`../user_guide/configuration`. | |
| For specifying the Python interpreter used to execute the Python UDF, you can refer to the configuration :doc:`../user_guide/configuration`. | |
| Installation of PyFlink | |
| ----------------------- | |
| PyFlink is available in `PyPi <https://pypi.org/project/apache-flink/>`_ and can be installed as follows: | |
| .. code-block:: bash | |
| $ python -m pip install apache-flink | |
| You can also build PyFlink from source by following the `development guide <https://flink.apache.org/docs/latest/flinkdev/building/#build-pyflink>`_. | |
| .. note:: | |
| Starting from Flink 1.11, it's also supported to run | |
| PyFlink jobs locally on Windows and so you could develop and debug PyFlink jobs on Windows. |