https://beets.readthedocs.io/en/stable/guides/main.html
有几个问题,主要是不知道具体怎么操作:
1)antd + tauri 如何调用这个 python 库?get started 教程中都是用 命令行 。
2)如何把python库集成进 tauri 中?
第一种想法是,在用户安装时检测电脑上有没有py36环境依赖,没有就给用户安装一个。
第二种,直接封在app中,不给用户添加麻烦,我倾向于这种。
可以用pyinstalller打包成app
该回答引用GPTᴼᴾᴱᴺᴬᴵ
将 Python 库 beets 集成到 antd + tauri 应用程序中,需要以下步骤:
1.在 Python 中创建一个虚拟环境并安装 beets 库。
python3 -m venv env
source env/bin/activate
pip install beets
2.在你的 antd + tauri 应用程序中安装 Python 运行时。
你可以使用 tauri.js 提供的 tauri.conf.json 文件来配置 Python 运行时的路径。
{
"tauri": {
"embeddedServer": {
"active": true
},
"bundle": {
"identifier": "com.example.app",
"icon": "src-tauri/icon.icns"
},
"build": {
"appId": "com.example.app",
"productName": "My App",
"mac": {
"category": "public.app-category.utilities",
"target": "default",
"icon": "src-tauri/icon.icns"
},
"win": {
"icon": "src-tauri/icon.ico"
}
},
"distDir": "../dist",
"tauriConfig": {
"window": {
"title": "My App"
},
"embeddedServer": {
"active": true
},
"custom": {
"tauri": {
"path": {
"linux": "/usr/bin/python3",
"mac": "/usr/bin/python3",
"windows": "C:\\Python36\\python.exe"
}
}
}
}
}
}
3.编写 JavaScript 代码来调用 beets 库。你可以使用 Node.js 的 child_process 模块来运行 Python 脚本并传递参数。
const { spawn } = require('child_process')
function runBeets() {
const process = spawn('python', ['-c', 'import beets; beets.main()'])
process.stdout.on('data', data => {
console.log(`stdout: ${data}`)
})
process.stderr.on('data', data => {
console.error(`stderr: ${data}`)
})
process.on('close', code => {
console.log(`child process exited with code ${code}`)
})
}
runBeets()
你可以通过更改 Python 命令来调用 beets 库的特定功能或命令。
注意:这种方法需要在用户的计算机上安装 Python 3.x 环境,并将其添加到 PATH 环境变量中。
4.将 Python 库打包到你的应用程序中。
这种方法需要在构建过程中将 Python 库打包到你的应用程序中,因此用户不需要安装任何 Python 环境。你可以使用 pyinstaller 或 py2app 来完成这项任务。
总之,如果你想让用户更轻松地使用你的应用程序,封装 Python 库并将其打包到应用程序中可能是更好的选择。如果你需要更高的灵活性和可扩展性,你可以让用户在安装应用程序之前安装 Python 环境,并通过 Node.js