Pythonx 安装与配置指南
pythonx Python interpreter embedded in Elixir 项目地址: https://gitcode.com/gh_mirrors/pyth/pythonx
项目基础介绍
Pythonx 是一个 Elixir 项目,它允许在 Elixir 应用程序中嵌入 Python 解释器。这样,用户可以在同一操作系统进程中评估 Python 代码,并方便地在 Python 和 Elixir 数据结构之间进行转换。Pythonx 的目标是更好地将 Python 工作流程集成到 Livebook 中,并在实际项目中使用时需谨慎,因为 Python 的全局解释锁(GIL)会阻止多个线程同时执行 Python 代码。
主要编程语言
该项目主要使用 Elixir 和 C++ 编程语言,同时也涉及 Python 代码。
项目使用的关键技术和框架
- Erlang NIFs:Elixir 通过 Erlang NIFs(Native Implemented Functions)提供 C/C++ 互操作性,这是 Pythonx 能够嵌入 Python 的关键技术。
- CPython:Python 的参考实现提供了动态链接库,使得其他语言可以链接该库并在低级别上与 Python 代码和对象交互。
准备工作
在开始安装 Pythonx 之前,请确保您已经安装了以下环境和工具:
- Elixir 和 Erlang/OTP
- Python 3.13(或其他兼容版本)
- Make 工具
安装步骤
以下是安装 Pythonx 的详细步骤:
步骤 1:添加 Pythonx 到依赖项
首先,您需要将 Pythonx 添加到您的 Elixir 项目的依赖项中。在项目根目录下的 mix.exs
文件中,添加以下代码:
def deps do
[
{:pythonx, "~> 0.4.0"}
]
end
步骤 2:配置 Python 版本和依赖
接下来,您需要在 config/config.exs
文件中配置 Python 版本和依赖。添加以下内容:
import Config
config :pythonx, :uv_init,
pyproject_toml: """
[project]
name = "project"
version = "0.0.0"
requires-python = "==3.13.*"
dependencies = [
"numpy==2.2.2"
]
"""
步骤 3:编译项目
配置完成后,编译您的 Elixir 项目:
mix compile
步骤 4:初始化 Python 解释器
在您的 Elixir 应用程序启动时,初始化 Python 解释器。这通常在应用程序的 start/2
函数中完成:
def start(_type, _args) do
Pythonx.uv_init(config(:pyproject_toml))
# 其他启动代码...
end
步骤 5:使用 Pythonx API
现在,您可以使用 Pythonx.eval/2
和其他 API 在您的应用程序中执行 Python 代码了。
以上就是 Pythonx 的安装和配置指南。请按照上述步骤操作,您应该能够在 Elixir 项目中成功嵌入并使用 Python 代码。
pythonx Python interpreter embedded in Elixir 项目地址: https://gitcode.com/gh_mirrors/pyth/pythonx