一. 更改配置文件
可以在streamlit的配置文件config.toml中设置streamlit应用的监听端口。
streamlit的配置文件路径为:
~/.streamlit/config.toml
** 如果你没有这个文件的话,那就创建一个 **
在配置文件config.toml中添加如下部分,
[server]
port=8888
二. 运行时直接用命令行指定
1 | $ streamlit run --server.port 8888 app.py |
pip国内的一些镜像
阿里云:http://mirrors.aliyun.com/pypi/simple/“
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣:https://pypi.doubanio.com/simple/
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
腾讯云:https://mirrors.cloud.tencent.com/pypi/simple/
浙江大学:http://mirrors.zju.edu.cn/pypi/web/simple/
网易:http://mirrors.163.com/pypi/simple/
华为云:https://repo.huaweicloud.com/repository/pypi/simple
北京外国语大学:https://mirrors.bfsu.edu.cn/pypi/web/simple
上海交通大学:https://mirrors.sjtug.sjtu.edu.cn/pypi/web/simple
南京大学:https://mirrors.nju.edu.cn/pypi/web/simple
修改源方法:
临时使用:
可以在使用pip的时候在后面加上-i参数,指定pip源
eg: pip install streamlit -i http://mirrors.aliyun.com/pypi/simple
永久修改:
linux:
修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple
Streamlit是第一个专门针对机器学习和数据科学团队的应用开发框架,它是开发自定义机器学习工具的最快的方法,你可以认为它的目标是取代Flask在机器学习项目中的地位,可以帮助机器学习工程师快速开发用户交互工具。
正常安装
1 | $ apt install virtualenv #建立虚环境 |
2 有时候好慢好慢,咋都安装不上肿么办? 只能换源了。
1 | pip install streamlit -i https://mirrors.bfsu.edu.cn/pypi/web/simple |
演示
1 | $ streamlit hello |
然一浏览器进入 127.0.0.1:8501, 通过左边栏可以选择四个内置小项目并查看其代码,例如分形动画、折线图和层叠地图等,能在网页上点击选择设置一些参数,动态查看效果。
Hello world
编写例子文件 hello.py
1 | import streamlist as st |
1 | $ streamlit run hello.py |
例子代码
编写例子文件 demo.py
1 | #coding:utf8 |
1 | $ stream run demo.py |
浏览器查看 127.0.0.1:8501 ,支持中文还不错,支持Markdown语法,而且还有表情包
Streamlit的工作方式如下:
a. 对于用户的每一次交互,整个脚本从头到尾执行一遍;
b. Streamlit基于UI组件的状态给变量赋值;
c. 缓存让Streamlit可以避免重复请求数据或重复计算;
termux 0.114版下, 失败。
anlinux-ubuntu20.04下多次失败
anlinux-ubuntu21.04下,开始失败,后来重新安装,只安装了python3.9, 并在虚环境下采用pip3 install streamlit成功。
一些出错总结
必须安装gcc
安装pandas容易出错,可先用 pip –default-timeout=100000 install –upgrade pandas 来安装
事先安装好 pip install wheel
轻量级系统 需要轻量级桌面。XFCE曾经是许多人喜爱的轻量级环境,然后它越来越大。它可能比其较重的兄弟姐妹消耗更少的资源,但它不断增加更多的功能,有些人现在说那么就有LXDE,LXQt,这些都是出色的选择,但不如fluxbox或openbox那么轻。虽然以前的选择提供更多的可用性,牺牲了更多的资源消耗,后者可以感觉到笨重和外来使用。Lumina占据中间位置。它是超轻,用户友好和非常可定制。
Lumina 与几个 Linux 轻量级桌面非常相似,尤其是 LXQT,不同之处在于 Lumina 完全不依赖于基于 Linux 的桌面框架(例如 ConsoleKit、PolicyKit、D-Bus 或 systemd)
Lumina真的很轻巧。它是基于fluxbox的
1 | $ sudo apt updated |
GNOME Web(代号为Epiphany)是Elementary OS的默认Web浏览器,但它可以从标准代码仓库来安装。(不过请注意,建议通过Flatpak或Snap来安装Epiphany)。如果你选择通过标准的软件包管理器来安装,运行命令,比如sudo apt-get install epiphany-browser -y,即可成功安装。
Epiphany使用WebKit渲染引擎,它与苹果Safari浏览器使用同样的引擎。除了该渲染引擎外,Epiphany几乎没有什么臃肿软件,因而页面渲染速度很快。Epiphany的开发严格遵循下列准则:
简单性:功能臃肿和用户界面混乱被认为是邪恶的。 符合标准:不会将任何非标准功能添加到代码库中。 软件自由:Epiphany将始终采用尊重自由的许可证来发布。 人机界面:Epiphany遵循GNOME人机界面指南。 极简首选项:只有在有必要且经过仔细考虑后才添加首选项。 目标受众:非技术用户是主要的目标受众(这有助于定义所包含功能的类型)。
GNOME Web是你能找到的最干净最简单的Web浏览器
Netsurf极简Web浏览器打开的速度几乎比你松开鼠标按钮还快。Netsurf使用自己的布局和渲染引擎(完全从头开始设计)
虽然你可能发觉Netsurf在某些网站上遇到渲染问题,但要明白Hubbub HTML解析器遵循正在开发中的HTML5规范,因此偶尔会出现问题弹出窗口。为了缓解那些渲染方面的问题,Netsurf确实包括HTTPS支持、网页缩略图、URL完成、比例视图、书签、全屏模式、键盘快捷方式以及GUI工具包方面没有特定要求。最后一点很重要,你从一个桌面切换到另一个桌面时尤为如此。
对于那些对Netsurf的要求感到好奇的人来说,该浏览器可以在像搭载16MB内存的30Mhz ARM 6这样的低速计算机上运行。按今天的标准来看,这确实不同凡响。
如果你在寻找使用Qt框架和QtWebKit渲染引擎的极简浏览器,QupZilla可能正是你所寻找的。QupZilla包含Web浏览器应具备的所有标准功能和特性,比如书签、历史记录、侧边栏、标签页、RSS源、广告拦截、Flash拦截和CA证书管理。即使有这些功能,QupZilla仍然是一款非常快速的轻量级Web浏览器。其他功能包括:快速启动、快速拨号主页、内置的屏幕截图工具和浏览器主题等。
应该会吸引普通用户的一项功能是,QupZilla拥有比许多轻量级浏览器更标准化的首选项工具
Otter浏览器是一款免费的开源浏览器,试图重现Opera浏览器中的闭源产品。Otter浏览器使用WebKit渲染引擎,拥有任何用户应该会立马熟悉的界面。虽然很轻巧,但Otter 浏览器确实包含全面的功能,比如:
密码管理器 附件管理器 内容拦截 拼写检查 可定制的GUI URL完成 快速拨号(图4) 书签和各种相关功能 鼠标手势 用户样式表 内置笔记工具
借助AppImage,Otter浏览器可以在几乎任何Linux发行版上运行,因此无需安装。只要下载AppImage文件,为文件赋予可执行权限(使用命令chmod u+x otter-browser-.AppImage),然后使用命令./otter-browser.AppImage启动应用程序。
Otter浏览器在渲染网站方面做得很出色,可以轻松充当你可靠的极简浏览器。
让我们变得超极简吧。20年前我第一次开始使用Linux时,常常使用的一款Web浏览器是名为Lynx的文本型应用软件。Lynx仍然健在、可以从标准代码仓库来安装,这不足为奇。正如你所料,Lynx从终端窗口工作,并不显示漂亮的图片或渲染高级功能(图5)。实际上,Lynx是一款功能再基础不过的浏览器。由于这个网络浏览器的功能很基础,所以不推荐给所有人使用。但如果你碰巧有一台无GUI的Web服务器,又需要能够偶尔阅读网站,Lynx确实是大救星。
Dillo小巧、稳定、方便、快速,可扩展而其面向开发者友好
Arora, 用Qt工具包开发的基于web浏览器的一个简单的webkit
特征丰富的基于文本的浏览器
Vivaldi 默认情况下看上去似乎有点满满当当的 —— 能够快速访问的侧边栏、地址栏右边的搜索框,再加上浏览器底部还有更多要素。Vivaldi 默认也提供了更多主题,用户可以无缝地编辑、定制主题
它提供了大量额外功能,包括侧边栏的 Web 面板、番茄钟、页面平铺、日历集成、电子邮箱集成、RSS 订阅等。侧边栏(或者叫 Web 面板)允许你快速访问内容,不需额外新建标签或窗口,让你轻松进行多任务处理,而不会失去对当前活跃标签的专注
当然,它还有内置的翻译功能,让你能在不懂网站的语言时摆脱谷歌翻译。
除了这些功能以外,Vivaldi 允许你修改键盘快捷键、鼠标手势,以及大量快捷命令。在 Brave 里可没有这些东西。
Vivaldi 在它的官网让您完全掌控的浏览器 | Vivaldi提供了最新的 DEB/RPM 软件包,而且同样支持 ARM 设备
在anlinux的ubuntu22.04下安装后启动不了,于是进入/usr/share/applications/目录,编辑
1 | vim vivaldi-stable.desktop |
1 | $ sudo apt install fluxbox* -y |
系统自带的 Fluxbox 主题文件在 /usr/share/fluxbox/styles 中,
缺省的 Fluxbox 配置文件在 /etc/X11/fluxbox/目录中
用户个人配置文件在 ~/.fluxbox 中,配置文件如下:
init - 主要的 Fluxbox 资源配置文件。参阅 编辑init文件。
menu - Fluxbox 菜单配置文件。参阅下文和 编辑menu文件。
keys - Fluxbox 键盘快捷键(热键)配置文件。参阅下文和 这里。
startup - 编辑开机启动程序,参阅下文中关于 .xinitrc 的部分和 这里。
overlay - 重载主题元素的配置文件。如果改一次主题,有的无法显示中文,可在这里重点设置字体,就不用在每一个主题目录下修改了
apps - 记忆具体应用程序窗口配置的文件。参阅 这里。
windowmenu - 配置窗口菜单自身的文件。看这里。
文件夹中有很多不太重要的配置文件。需要注意的有
1 | $ fbsetbg -f 你的壁纸文件 |
然后,会在你的/.fluxbox/lastwallpaper文件中记录下这次设置的壁纸。/.fluxbox/init文件, 并添加,或修改
修改
session.screen0.rootCommand fbsetbg -l
则下次启动,就会记住你上次修改的壁纸了。
在 Fluxbox 菜单中添加子菜单如下:
[submenu] (Backgrounds)
[wallpapers] (/sdcard/Domuments/wallpapers) {feh –bg-scale}
[end]
然后在fluxbox的桌面,右健弹出的菜单中有一个Backgrounds选项。
1 | $ fluxbox-generate_menu |
1 | $ sudo apt instlal mmake |
3.1 可执行的语法
[exec] (name) {command} “name” 是想要在菜单项目上显示的文字,”command” 是程序所在的位置。
单项的类型都是用”[]”定义的,所有菜单项的名称都是用”()”定义的,所有的命令都是用”{}”定义的,所有的图标都是用 “<>”定义的,在/usr/share/pixmaps/里找到N多程序的图标
3.2 include] (文件或目录名), 这个表示插入一个外部的菜单文件,可以写就对路径,也可以 ~/ 来指代你的主目录。如果给出的是一个目录的话,那目录里所有的文件都会被包含。通过这种方法,你可以在自己的菜单里将自动生成的菜单包含进来,这样,你既 不需要修改自动生成的菜单(自动生成的菜单开头都会有一句话,让你不要去修改它,因为你新装一个程序,它是会更新的),也不怕自己的菜单被破坏。
3.3 [nop] (label), 这表示插入一个空白项目,如果在”()”中指定了名称,那么就会显示这个名称,显示效果和和普通菜单项是有区别的。如果没指定名称,那么就是一个空出来的位置,什么都没有
3.4 [separator] 这表示插入一条分界线,与上面的”[nop]”一样,有助于菜单的格式化。
3.5 [stylesdir] (label) {目录} 该标签用于创建一个名为label的子菜单,并且在子菜单中插入目录中所有的样式,这样可以方便地切换样式,例如你可以把 ~/.fluxbox/styles 目录加进去。
3.6 [wallpapers] (目录) 这个标签会将目录下的所有图片列出来,方便你切换壁纸。有一点要注意的是,目录里面的目录是被忽略的,也就是它不会递归的,所以你最好将壁纸全部放在一个目录下
3.7 [config] (label) 弹出一个fluxbox的配置菜单,省却手工编辑的麻烦。
例子:
[exec] (浏览器) {/usr/bin/firefox}
[exec] (终端) {xfce4-terminal}
[separator] # 分隔线
3.2创建子菜单的语法如下:
[submenu] (Name)
…
…
[end]
编辑完成后,保存退出,不需要重启 Fluxbox。
要安装 Fluxbox 主题,将主题文件解压缩到主题文件夹,默认的主题文件夹是
全局 - /usr/share/fluxbox/styles
仅用户 - ~/.fluxbox/styles
主题选择菜单。
将下面几行添加到 ~/.fluxbox/menu 文件中的重启菜单选项后来修正。
[submenu] (System Styles) {Choose a style…}
[stylesdir] (/usr/share/fluxbox/styles)
[end]
[submenu] (User Styles) {Choose a style…}
[stylesdir] (~/.fluxbox/styles)
[end]
[config] (Configuration)
[submenu] (styles) {}
[stylesdir] (/usr/share/fluxbox/styles)
[stylesdir] (~/.fluxbox/styles)
[end]
[workspaes] (workspaces)
[recofig] (Reconfigure) # 配置重新启动
[restart] (Restart) # 生启动
[exit] (Exit) # 退出系统
menu.title.font: Simsun-10
menu.title.justify: center
menu.frame.font: Simsun-10
menu.frame.justify: left
window.font: Simsun-10
window.justify: center
window.label.focus.color: rgb:4e/8f/cf
window.label.focus.colorTo: rgb:4e/8f/cf
toolbar.clock.font: Simsun-10
#toolbar.workspace.font: Simsun
toolbar.iconbar.focused.font: Simsun-10
toolbar.iconbar.unfocused.font: Simsun-10
字体名称后面-11为字体大小,再后面跟:bold表示黑体显示,中间都没有空格。
1 | $ sudo apt install gtk-theme-switch |
CODE:
menu.title.font: WenQuanYi Bitmap Song
menu.title.font.effect: shadow
menu.title.font.shadow.color: #ffffff
menu.title.font.shadow.x: 2
menu.title.font.shadow.y: 5
menu.frame.font: WenQuanYi Bitmap Song-12
menu.frame.font.effect: halo
menu.frame.font.halo.color: #ffffff
toolbar.iconbar.focused.font: WenQuanYi Bitmap Song-12:bold
toolbar.iconbar.unfocused.font: WenQuanYi Bitmap Song-12
窗口菜单的写法和主菜单的写法几乎一样,就是多了几个特有的标签而已,所以,有了上面的知识,这里你可以轻松搞定。这些标签有:
[shade] (label) # 这个表示卷起窗口
[close] (label)# 这个自然是关闭
[kill] (label)
[killwindow] (label) # 如果它停止响应,就杀死它
[stick] (label) # 粘住,就是在所有工作区都出现
[maximize] (label) # 最大化
[iconify] (label) # 最小化
[raise] (label) #抬高,就是把窗口抬高一级,例如原来有窗口压在它上面,那么这样它就会跑上来
[lower] (label) #降低,抬高和降低你试一下就全明白了
[sendto] (label) # 弹出一个发送到的子菜单
[layer] (label) # 弹出一个改变层次的子菜单
[extramenus] (label) # 弹出一个记住的子菜单,让fluxbox记住窗口状态
书写格式是“[startup] {application}”的形式,方括号加startup即告诉系统在启动的时候加载后面大括号中的程序或命令。例如:
[startup] {tilda}
[startup] {xbindkeys}
[startup] {conky}
[startup] {fbsetbg -f /home/lost/.wp.jpg}
安装后,默认配置文件在 /usr/share/icewm目录下。
1 | $ sudo apt install icewm |
要copy的文件不多,主要有以下几个:
需要配置的文件不多,有以下几个
menu 配置菜单
preferences IceWM的系统配置
keys 自定义快捷键
toolbar 配置出现在任务栏的按钮
winoptions 配置特定窗口的行为
startup icewm-session启动后执行的脚本
theme 当前的theme
prefoverride 覆盖theme设置的
修扆背景图片
vim ~/.icewm/preferences
DesktopBackgroundImages = “/home/myname/wallpaper/bizhi.jpg”
语法
prog “标题“ 图标文件名(包括路径) 要执行的程序名(包括路径) 操作项
menu “标题“ 图标文件名(包括路径) # 子菜单
{
prog “标题“ 图标文件名(包括路径) 要执行的程序名(包括路径) 操作项
prog “标题“ 图标文件名(包括路径) 要执行的程序名(包括路径) 操作项
menu “标题“ 图标文件名(包括路径) # 子子菜单
{
prog “标题“ 图标文件名(包括路径) 要执行的程序名(包括路径) 操作项
prog “标题“ 图标文件名(包括路径) 要执行的程序名(包括路径) 操作项
}
}
separator #分隔线
prog “标题“ 图标文件名(包括路径) 要执行的程序名(包括路径) 操作项
例子
prog “URxvt” /usr/share/pixmaps/urxvt.xpm /bin/sh -C “urxvt”
separator
prog “Xfce-terminal” ! x-terminal-emulator -ls
prog “浏览器” /usr/share/pixmaps/mozilla-firefox.png mozilla-firefox
separator
menu “网络” folder
{
prog “FirFox” /usr/share/pixmaps/mozilla-firefox.png mozilla-firefox
prog “Chrome” /usr/share/pixmaps/chromium-browser.png chromium-browser –no-sandbox
}
separator
/usr/share/pixmaps/里找到N多程序的图标
openbox
opmenu—选择安装主题,修改鼠标行为,设置桌面。
obmenu—-用来配置窗口管理器的其它部分。
stalonetray—-系统托盘
Tint22—-任务栏
xfce4-panel—另一种任务栏
openbox-themes—-
OpenBox的个人配置文件只有:
~/.config/openbox/autostart.sh
~/.config/openbox/menu.xml
~/.config/openbox/rc.xml
$ sudo updated-menus 获取原始数据,生成配置文件
/etc/X11/openbox/*
/etc/xdg/openbox/*
从这里把menu.xml和 rc.xml 拷贝到 ~/.config/openbox/里
$ sudo vim ~/.config/openbox/autostart.sh
$GLOBALAUTOSTART
hsetroot - fill ~/wallpaper.jpg
xcompmgr -f -F -c -t-5 -l-5 -r4.2 -o.55 &
cairo-dock &
stalonetray -W –sticky -t –fuzzy -edges 3 –geometry 4x24 +O -O –skip-taskbar –respect -icon -hints &
保存后,进入openbox桌面
$ exec /openbox/bin/openbox-session
1 启动obmenu,原有的菜单不喜欢,就改。
2 用obconf修改dock的设置,这个“独立托盘”就会自动隐藏了
1 | $ sudo apt install lamp-server^ -y |
1 | $ sudo apt install python3 |
1 | $ sudo apt install libapache2-mod-wsgi |
1 | def application(environ,start-response) |
1 | $ sudo service apache2 restart |
1 | #coding:utf8 必须加,否则网页无法显示中文 |
WSGIScriptAlias app /home/me/myflask/app.wsgi
重启apache服务,浏览器输入 localhost/app ,发现失败了。
查看apache2的错误信息
1 | $ tail -f /var/log/apache2/error.log # 发现是存取目录失败。于是再次 |
在末尾添加
| <Directory /home/me/myflask>
| require all granted
| require host ip
| Allow from all
|
保存退出,重启apache, 然后浏览器,成功得到flash的信息。
1 | $ sudo apt install lamp-server^ -y |
1 | $ cd /usr/share/phpmyadmin/libraries |
保存后,则phpmyadmin允许空密码登录了。然而用root用户名依然不能登录!!!
1 | $ sudo mysql |
但是可以用phpmyadmin的用户名来登录
1 | mysql> updated user SET plugin='mysql_native_password' WHERE user='root'; |
1 | mysql> set password for 'root'@'localhost' = password('你设置的密码' |