华为笔记本能否成功装deepin-linux并使用PythonEel?在deepin-linux安装Python3.8时需要注意哪些坑点?

华为笔记本装deepin-linux下:Python Eel的3个examples的讲解 deepin-linux深度操作系统的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()

由于中文文档比较少,先介绍到这里。

大家都在看
本文经用户投稿或网站收集转载,如有侵权请联系本站。