python环境配置¶
构建过程python环境配置¶
data-workbench可以不依赖Python,通过配置CMakeLists.txt的DA_ENABLE_PYTHON选项可以禁用python环境,此时将不会编译python相关模块(如果你仅仅只是为了使用绘图模块,可以把python环境禁用)
如果开启将自动查找系统的python环境并进行依赖
python环境要求和依赖说明¶
python环境有如下要求:
- 至少是python3.7
python环境需要安装的库:
1 | |
如果你的python版本小于3.8,还需额外导入typing_extensions库
1 | |
为了兼容性,numpy建议2.0以下,这里推荐使用1.26.4(python3.7等低版本python不用考虑此问题)
下面是data-workbench依赖的python库说明
- Loguru主要用于进行python脚本的日志记录
- openpyxl是pandas导入excel文件的依赖,如果没有安装,则无法导入excel文件
- chardet主要用于检测字符编码
- PyWavelets是进行小波分析的库
- pyarrow是dataframe进行扩展数据导入的库,支持parquet(Partitioning Parquet files)和Feather
python在win11操作系统下,安装package会把包安装到用户名\AppData\Roaming\Python\Pythonxx\site-packages下,这对于把整个python打包是不利的,因此需要在执行pip install时加上参数--target指定安装路径,例如:
1 | |
项目目录下已经把所有依赖放到了requirements.txt文件里,可以直接使用pip install -r requirements.txt进行安装
程序运行时查找python逻辑¶
dataworkbench查找python的逻辑是:
- 先查看程序运行目录下是否存在
python-config.json,如果有,讲读取python-config.json里的config/interpreter下的值,以此作为python解析器的路径,python-config.json的模板如下:
json
{
"config": {
"interpreter": "path to python interpreter"
}
}
程序安装目录可以使用
${current-app-dir}变量替代,例如python安装在程序安装目录下,那么${current-app-dir}的值就是程序安装目录,如:${current-app-dir}/python311/python.exe
- 如果没有
python-config.json文件,将使用where python来查找系统的python环境