先下载好anaconda linux版本
Download Anaconda Distribution | Anacondahttps://www.anaconda.com/download/在麒麟v10使用非root用户安装之后运行
conda create --name py311 python=3.11
--name py311 是环境名
python=3.11 是python版本
安装完成后,运行
conda env list
得到
这时我们运行
conda init
conda activate py311
就激活了py311环境
安装相关的包
pip3 install pyinstaller nicegui pywebview
附带一个nicegui的演示应用代码,可以同时在windows ,linux运行
from nicegui import ui
# 使用 flex 布局让内容居中显示
with ui.row().classes('w-full'):
with ui.card().style('width: 100%;'):
# 创建 Tab 组件并使其平均分布
with ui.tabs() as tabs:
tab1 = ui.tab('Tab 1').style('flex: 1; text-align: center; width: 200px;')
tab2 = ui.tab('Tab 2').style('flex: 1; text-align: center; width: 200px;')
tab3 = ui.tab('Tab 3').style('flex: 1; text-align: center; width: 200px;')
# Tab 页 1 的内容
with ui.tab_panels(tabs, value=tab1):
with ui.tab_panel(tab1):
ui.label('这是 Tab 1 的内容')
ui.button('Tab 1 按钮', on_click=lambda: ui.notify('你点击了 Tab 1 的按钮'))
ui.input('Tab 1 文本框', placeholder='在这里输入...')
# Tab 页 2 的内容
with ui.tab_panel(tab2):
ui.label('这是 Tab 2 的内容')
ui.button('Tab 2 按钮', on_click=lambda: ui.notify('你点击了 Tab 2 的按钮'))
ui.input('Tab 2 文本框', placeholder='Tab 2 文本框')
# Tab 页 3 的内容
with ui.tab_panel(tab3):
ui.label('这是 Tab 3 的内容')
ui.button('Tab 3 按钮', on_click=lambda: ui.notify('你点击了 Tab 3 的按钮'))
ui.input('Tab 3 文本框', placeholder='Tab 3 文本框')
with ui.column().classes('w-full'):
# 创建一个带有自定义高度的 Textarea
ui.textarea('输入文本', placeholder='在这里输入...').style('height: 80%;').classes('w-full')
# 创建另一个自定义高度的 Textarea
ui.textarea('输入文本', placeholder='在这里输入...').style('height: 180%;').classes('w-full')
ui.run(reload=False,native=True)
附带打包代码
import os
import subprocess
from pathlib import Path
import nicegui
cmd = ['pyinstaller',
'niceUI_tab.py',#your main file with ui.run()
'--name','niceUI_tab',#name of your app
#'--onefile',
'--windowed',
'--clean',
'--icon=demo.ico',
'--add-data',f'{Path(nicegui.__file__).parent}{os.pathsep}nicegui'
]
subprocess.call(cmd)