华为笔记本装deepin-linuxPythonEel的3个examples讲解有何要点?深度操作系统的python3.8安装掉坑录?
本文目录:
1 说明:
======
1.1本人发了2篇Eel的简单介绍的文字,大家很喜欢,可是国内这方面的文章太少了,所以决定对官方的examples进行代码的详细讲解,让大家一秒入门,做到通俗易懂,小白级别一看就会。
1.2 前面自己讲过的就不讲了,可以看看我前面的发过的2篇关于Eel的介绍。
1.3 环境:华为笔记本电脑,深度deepin-linux操作系统,python3.8,谷歌浏览器,微软vscode编辑器。(这个很重要)
顺带祝大家:520,节日快乐。
2 资料来源:
========
https://github.com/samuelhwilliams/Eel For Py2/3 compatibility:兼容python2和python3from __future__ import print_function import eelimport random39;web&将python的代码和暴露给js,便于调用@eel.exposedef py_random(): return random.random()终端打印 print(&39;, n) 方法一:调用js功能函数 eel.js_random()(print_num)39;Got this from Javascript:&启动web为当前目录下的html文件,大小设置eel.start(&39;, size=(400, 300))
3.2 callbacks.html代码
<!DOCTYPE html><html> <head> <title>Callbacks Demo</title> <!--eel的特色:即eel.js文件是不需要的单独出现的,这个格式我喜欢,与传统的html的js导入库文件不同--> <script type=&34; src=&34;></script> <script type=&34;> // 将函数暴露给python eel.expose(js_random); // 定义js_random函数 function js_random() { // 返回js的Math的随机函数 return Math.random(); } // 定义print_num函数 function print_num(n) { console.log(&39; n); } // Call Python function, and pass explicit callback function // 调用python的函数:注意函数嵌套 // 即py_random函数中的print_num // 方法一 eel.py_random()(print_num); // Do the same with an inline callback // 方法二 eel.py_random()(n => console.log(&39; n)); </script> </head> <body> <!--网页文字输出--> Eel下的python和html的js函数互动 </body></html>
3.3 两种方法:速度不一样,第一种快些,如图:
4 example的03 - sync_callbacks的代码讲解:
=================================
4.1 sync_callbacks.py代码:
39;web& 注意block不阻止回调eel.start(&39;, block=False, size=(400, 300)) Synchronous calls must happen after start() is called 注意第二个括号内为空的 vn = eel.js_random()()print(&39;, n)34;text/javascript&34;/eel.js&34;text/javascript&39;async&39;await&39;Got this from Python: &39;web&39;Not valid folder&39;file_access.html&39;text/javascript&39;/eel.js&39;text/javascript&39;input-box&39;file-name&39;input-box&39;Type folder here&39;C:\Windows&39;input-box&39;Type folder here&39;/home/xgj/Desktop&39;javascript:void()&39;pick_file()&39;file-name'>当前文件夹为空,请选择</div> </body></html>
5.3 图
整理并分享出来,希望大家喜欢。
祝大家:520节日快乐,身体健康,喜欢就点赞,转发和收藏。
deepin-linux深度操作系统的python3.8安装的掉坑录
推荐指数:★★★★
总想尝试新的东西,新的python,那么掉坑是必然的,所以在以后的学习python中专门有一个报错如何解决问题,是不是呀?发现问题,解决问题,也是以后学习python或者其他计算机语言,乃至生活的一大本领。
题诗
---入坑记
谁人没有掉过坑,
有人起来有人恨。
入坑还要看你忍,
出来就是一大神。
1.deepin-linux操作系统 华为笔记本电脑配置
系统自带python2.7和python3.5
图1
2.pip未安装
先别急着装pip。
说几句题外话,千万别忘记先备份系统,初始备份到移动硬盘上去,这样好折腾自己的电脑。
3.今天来讲如何安装多个版本python,去官网下载,建议下载python3.8.0。
4.在root下,将包放到opt下,解压。
5.file:///opt/Python-3.8.0
cd /opt/Python-3.8.0
xgj@xgj-PC:~$ su
密码:
root@xgj-PC:/home/xgj cd /opt/Python-3.8.0
root@xgj-PC:/opt/Python-3.8.0 cd /opt/Python-3.8.0
root@xgj-PC:/opt/Python-3.8.0 如果掉坑了,别怕,扫一扫,clean
================================================
一定要先安装依赖,否认报错,因为python版本更新后打的补丁。
================================================
★先应该安装这个更新和依赖★:
sudo apt-get install opensslsudo apt-get install libssl-dev #安装sudo apt-get install libssl-dev opensslsudo apt-get install libffi-devsudo apt-get install zlib1g-dev libsqlite3-dev tk-devsudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-devsudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
================
没有掉坑的,go on!
================
7.开始编译安装:
./configure --prefix=/usr/local/python3.8makemake install
===============================
如果:掉坑的,不用走第8步了
否则,继续
===============================
8. 建立软连接
ln -s /usr/local/python3.8/bin/python3.8 /usr/bin/python3.8
ln -s /usr/local/python3.8/bin/pip3.8 /usr/bin/pip3.8
看看这次有没有报错?
升级pip
pip3.8 install --upgrade pip
没有报错!
也成功了
图4
备注:如果嫌慢,可以加国内镜像----阿里云
pip3.8 install -i https://mirrors.aliyun.com/pypi/simple --upgrade pip
华为笔记本 深度操作系统:Toga安装(Python 原生GUI 工具包)
1 说明:
1.1 环境:华为笔记本电脑,深度deepin-linux操作系统,python3.8,微软vscode编辑器,谷歌浏览器。
1.2 Toga:是一款Python 原生GUI 工具包,国外非常火,国内教程基本没有。
1.3 亲测,避免掉坑,通俗易懂,兼Toga的基本教程。
2 官网地址:
https://github.com/beeware/togahttps://toga.readthedocs.io/en/latest/
3 安装:
3.1 走官方安装教程:
python3 -m venv venv本机安装source venv/bin/activate
3.2
sudo apt-get install python3-dev python3-gi python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-devsudo apt-get updatesudo apt-get install python3-dev libgirepository1.0-dev libcairo2-dev libpango1.0-dev libwebkitgtk-3.0-0 gir1.2-webkit-3.0
3.3 额外包:
sudo apt-get install gir1.2-webkit2-4.0
3.4
pip install --pre toga本机安装pip install --pre toga-demo本机安装
3.5 报错:
WARNING: The script toga-demo is installed in &39; which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress thiswarning, use --no-warn-script-location.
Successfully installed gbulb-0.6.1 pycairo-1.19.1 pygobject-3.36.1toga-0.3.0.dev18 toga-core-0.3.0.dev18 toga-demo-0.3.0.dev19 toga-gtk-0.3.0.dev18 travertino-0.1.2
WARNING: You are using pip version 20.1; however, version 20.1.1 is available.
You should consider upgrading via the &39; command.
3.5.1 提示没有建立软连接:
ln -s /usr/local/python3.8/bin/toga-demo /usr/bin/toga-demo
3.5.1 升级pip
python3.8 -m pip install --upgrade pip 34;hello&39;Hello world&39;First App&39;org.beeware.helloworld&39;__main__&导出模块import togaapp = toga.App(formal_name=&39;)39;First App&39;xxx&导出模块import toga随意定义一个参数:当然要有意义指代34;hello&39;Hello world&button.style.padding; = 3 39;First App&39;xxx&导出模块import togadef build(app): box = toga.Box() label = toga.Label(&39;) box.add(label) return boxapp = toga.App(&39;,&39;,startup=build) app.main_loop()
9 三组label标签文本
39;Hello world&39;Good GUI&39;Toga is python3 GUI&39;First App&39;xxx',startup=build) app.main_loop()
由于中文文档比较少,先介绍到这里。