码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 树莓派3 虚拟机部署streamlit流程 2022


           

            想要实现的效果:树莓派开机运行虚拟机中的streamlit,使内网通过192.XX这种网址正常访问页面。

            2022年4月,树莓派官网发布了支持老硬件的64位系统,默认内置64位的python3.9,很方便。

            在树莓派的官网安装64位的操作系统:Operating system images – Raspberry Pi

            并设置root密码:

    sudo passwd root

            (我所用的pyarrow-6.0.1不支持32位python,这也是之前一直没成功的原因之一)

    首先切换至root账户:sudo su。

    设置树莓派可远程登入root:

    sudo nano /etc/ssh/sshd_config

    #找到 #PeimitRootLogin prohibit-password (树莓派4B) 或者#PermitRootLogin without-password,修改为

    PermitRootLogin yes #注意需要去掉注释#       

    树梅派raspberrypi的su密码root密码是什么_rainforest2003的博客-CSDN博客_树莓派root密码d入手了树梅派4B,上电后,安装portainer的时候想获得root权限,输入su,恩?密码是多少?不记得了,输了好几遍登录密码也不对,无法进入了。查了一下,原来树莓派的Raspbian系统root用户默认是禁用状态,且没有密码,所以要先设置个密码,然后开启才能正常使用。我还没开启root。https://blog.csdn.net/rainforest2003/article/details/124078598

    目录

    1.Root安装python3.8,必须得是64位的python,

    参考 https://www.jianshu.com/p/ba55a4ea7047

    2.升级pip和安装virtualenv

    3.设置虚拟环境 

    4.设置开机自动运行

    5.重启


    1.Root安装python3.8,必须得是64位的python

    参考 https://www.jianshu.com/p/ba55a4ea7047

     若是新版64位树莓派系统,则本步可忽略。

    进入python环境,查看python是多少位的:

    1. import platform
    2. platform.architecture()

            若是新版64位树莓派系统,则本步可忽略。

    设置软链接:sudo rm /usr/bin/python      

       sudo ln -s /usr/local/bin/python3  /usr/bin/python

    /usr/local/bin/python3这个是python3.8的那个安装文件,要注意

    更改pip软链接:sudo rm /usr/bin/pip  

    sudo ln -s /usr/local/bin/pip3  /usr/bin/pip

            若是新版64位树莓派系统,则第一步可忽略。

    2.升级pip和安装virtualenv

    1. 升级pip到22.2:
      sudo pip install --upgrade pip
    2. 安装virtualenv 和 virtualenvwrapper:
    1. sudo apt-get install virtualenv
    2. sudo apt-get install virtualenvwrapper

    或者使用 pip3 安装,pip3 安装的时候一定要用 sudo 权限,否则会出一些莫名其妙的情况。

    sudo pip3 install virtualenv virtualenvwrapper

    看看这个库有没有安装:find -name virtualenv

    /以下似乎不用写入

    写入环境变量:vi /etc/profile

    加入这行代码:PATH=$PATH:/usr/local/python3/bin

    以上似乎不用写入/

    文件修改之后要重启:sudo reboot

    查看是否有了命令:virtualenv -V (如果成功它会有错误提示:说需要参数 the following arguments are required: dest)

            这时就可以把本机项目的需要的文件,复制到这个venv文件夹中了。

    3.设置虚拟环境 

            普通用户下(这时就别在普通和root来回切换了):virtualenv -p /usr/bin/python3 venv

    1. cd到这个venv目录,激活虚拟环境:source ./bin/activate

    Pip list查看当前库,如果它提示要升级pip,那就升级:

    /home/pi/venv/bin/python -m pip install --upgrade pip

    查看虚拟环境中的python版本:python -V

    将项目生成的库列表,复制到这个文件夹(pip freeze > requirements.txt),

    在原项目中,导出离线包 

    pip download -d require -r requirements.txt

    <以下灰色字可能要用到,新的64位系统应该不用这样了>

    一会先安装离线的,将requirements.txt 放在require文件夹中,在服务器端cd到require文件夹,pip install --no-index --find-links=./ -r requirements.txt

    这里注意,先安装pandas:

    (如果卡在Installing build dependencies ... \,我就退出,然后重新链接,再换源安装。)

    有几个库要注意:sudo apt-get install python3-pandas

    或:sudo apt-get install python3-pandas==1.3.5

    或:sudo apt-get install pandas==1.3.5

    或:pip install pandas==1.3.5(我用这种方式安装上的)

    安装库:

    pip install -r requirements.txt

    或用其他源安装pip install -i https://mirrors.aliyun.com/pypi/simple -r requirements.txt(国内pip源如下:

    阿里云:https://mirrors.aliyun.com/pypi/simple

    豆瓣:https://pypi.douban.com/simple/

    清华大学:https://pypi.tuna.tsinghua.edu.cn/simple

    中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple

    命令写法为:pip install 安装包名 -i 其他pip源的url,如pip install pandas-datareader -i http://mirrors.aliyun.com/pypi/simple

    使用这些pip下载可以提高下载速度,大大加速。

    原文链接:https://blog.csdn.net/acegem/article/details/103153439)

            还是64位新系统好用啊!

    退出虚拟环境:在这个虚拟环境的文件夹下 deactivate

    4.设置开机自动运行

    我是在venv文件夹下新建一个sh文件,并编辑:

    sudo nano /home/pi/venv/go.sh

    写入内容:

    1. #!/bin/sh                        #
    2. cd /home/pi/venv/bin                #进入虚拟环境的bin文件夹
    3. source activate                        #运行虚拟环境
    4. cd ..                                                #退回上一层文件夹
    5. streamlit run Main.py                #运行相应的py文件

    将shell改为bash,这样配合下面的文件改动就能开机运行.sh文件:

    chsh -s /bin/bash

    然后编辑启动文件:

    sudo nano /etc/rc.local 

    在文件的 exit 0 之前,添加执行sh文件的脚本:

    sudo bash /home/pi/venv/go.sh    

            先测试这个sh文件能否正常运行:./go.sh

            最好记住运行的streamlit的Network URL和External URL

    5.重启

            重启sudo reboot,就能在浏览器中输入地址、查看运行情况了。

    此时,登录,ps -ef可以查看当前的进程。

  • 相关阅读:
    Spring事务与MyBatis事务的集成:通过ThreadLocal实现绑定
    git使用
    通用汽车在华加速推出智能电动车型
    HTTP篇常见问题集合 ——摘自小林coding+LeetBook
    CTF-PWN-[ZJCTF 2019]Login 栈位置的转换跟踪
    计算机网络概述
    天天都在说的用户画像到底该如何构建?看这篇就够了!
    科技云报道:云安全的新战场上,如何打破“云威胁”的阴霾?
    Git使用教程
    JavaScript到底应不应该加分号?JavaScript自动插入分号规则详解
  • 原文地址:https://blog.csdn.net/limaning/article/details/126757158
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号