当前位置: 首页 > news >正文

深圳品牌网站建设服务做seo是什么意思

深圳品牌网站建设服务,做seo是什么意思,iis网站服务器 建立出现问题,婚恋网站翻译可以做吗文章目录 参考文章目录结构步骤安装venv查看python版本创建虚拟环境激活虚拟环境运行我们程序看缺少哪些依赖库#xff0c;依次安装它们接下来我们配置python程序启动脚本#xff0c;脚本中启动python程序前需先激活虚拟环境配置.service文件然后执行部署脚本#xff0c;成功… 文章目录 参考文章目录结构步骤安装venv查看python版本创建虚拟环境激活虚拟环境运行我们程序看缺少哪些依赖库依次安装它们接下来我们配置python程序启动脚本脚本中启动python程序前需先激活虚拟环境配置.service文件然后执行部署脚本成功了但是又莫名其妙搞出来一个问题后面一直不能复现后来又好了一直无法复现考虑问题复现时使用备用方案反正现在是正常的 20230811 虚拟环境中搞jtopjetson-stats还是有亿点问题 参考文章 Python虚拟环境使用教程以虚拟环境管理工具venv为例virtualenv、venv、pyenv、virtualenvwrapper、conda不同管理工具对比 目录结构 步骤 安装venv 它会基于当前版本的python3来安装python3-venv apt update apt install python3.8-venv查看python版本 执行python 创建虚拟环境 进入项目目录执行 python3 -m venv .venv-python3.8我把每个项目虚拟环境固定取名为.venv-python3.8后续方便脚本操作 20230813改了不这么搞了容易混淆每个虚拟环境都应该有自己特定的名字 python3 -m venv .venv-python3.8-ky_ai_ip_change可以看到生成了目录.venv-python3.8 我这刚生成的虚拟环境占空间也不大才7兆多 激活虚拟环境 source .venv-python3.8/bin/activate运行我们程序看缺少哪些依赖库依次安装它们 执行 python3 ip_change发现少了ping3装上 pip install ping3反复执行 python3 ip_change缺少啥库就装啥库 下载太慢我换成清华源怎么还给我卡住了 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gevent20230813如果有requirements.txt文件可以直接 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt可以禁用缓存因为缓存可能会导致大问题比如缓存里有但是是用之前正确的方式下载的当前下载方式不正确但用缓存也成功了就会导致下载者误判 pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt第二天看好了 继续 可以了跑起来了接口也能调通 接下来我们配置python程序启动脚本脚本中启动python程序前需先激活虚拟环境 注意journalctl -u servicename没有及时打印python日志的原因是因为在systemd unit文件中执行shell脚本脚本中再执行python命令命令没加-u参数导致的。估计是systemd自动把shell脚本输出重定向到journalctl日志跟我们之前遇到的问题一样 ky_ai_ip_change.sh #!/bin/bash# 打印所有包括注释 # set -v # 打印执行命令 # set -x # 命令出错退出 set -e # 使用未初始化变量退出 set -uUSERroot# --------------------------------------------------------------------------# 检查是否是root WHO$(whoami | grep ${USER}$) if [ -z ${WHO} ]; thenechoecho Please change to \${USER}\ user mode first!echoexit 1 fi# --------------------------------------------------------------------------# 获取脚本所在路径 SCRIPT_LOCATION$(cd $(dirname $0) || {echo cd Failureexit 1}pwd ) echo SCRIPT_LOCATION $SCRIPT_LOCATION# --------------------------------------------------------------------------VENV_NAME.venv-python3.8 PYTHON_ENTRY_FILEip_change# --------------------------------------------------------------------------# 激活虚拟环境 # 加指令注释消除shellcheck警告source后有变量就会警告 # shellcheck source/ky/tml/ky_ai_ip_change/.venv-python3.8/bin/activate source $SCRIPT_LOCATION/$VENV_NAME/bin/activate if [ $? -ne 0 ]; thenecho Execute [source $SCRIPT_LOCATION/$VENV_NAME/bin/activate] failedexit 1 fi# 运行项目 # python -u $SCRIPT_LOCATION/$PYTHON_ENTRY_FILE # if [ $? -ne 0 ]; then # echo Execute [python $SCRIPT_LOCATION/$PYTHON_ENTRY_FILE] failed # exit 1 # fi# 改一改避免命令报错直接退出脚本没有机会退出虚拟环境 if python -u $SCRIPT_LOCATION/$PYTHON_ENTRY_FILE; thenecho 命令 [python -u $SCRIPT_LOCATION/$PYTHON_ENTRY_FILE] 执行成功 elseecho 命令 [python -u $SCRIPT_LOCATION/$PYTHON_ENTRY_FILE] 执行失败 fideactivate if [ $? -ne 0 ]; thenecho Execute [deactivate] failed退出虚拟环境失败exit 1 fi echo Execute [deactivate] successfully退出虚拟环境成功 配置.service文件 ky_ai_ip_change.service [Unit] Descriptionky_ai_ip_change Afternetwork.target[Service] ExecStart/ky/tml/ky_ai_ip_change/ky_ai_ip_change.sh WorkingDirectory/ky/tml/ky_ai_ip_change Restartalways RestartSec3[Install] WantedBydefault.target然后执行部署脚本成功了 install.sh #!/bin/bash# 打印所有包括注释 # set -v # 打印执行命令 # set -x # 命令出错退出 set -e # 使用未初始化变量退出 set -uUSERroot # USER_HOME/root# --------------------------------------------------------------------------# 检查是否是root WHO$(whoami | grep ${USER}$) if [ -z ${WHO} ]; thenechoecho Please change to \${USER}\ user mode first!echoexit 1 fi# --------------------------------------------------------------------------# 获取脚本所在路径 SCRIPT_LOCATION$(cd $(dirname $0) || {echo cd Failureexit 1}pwd ) # echo SCRIPT_LOCATION $SCRIPT_LOCATION chmod 777 ${SCRIPT_LOCATION} -R# --------------------------------------------------------------------------# 不同服务只用改 SERVICE_NAME 变量即可 SERVICE_NAMEky_ai_ip_change SERVICE_FILE_NAME$SERVICE_NAME.serviceSERVICE_SOURCE_FILE_PATH$SCRIPT_LOCATION/$SERVICE_FILE_NAME# 不能在 /etc/systemd/system 中创建子目录吗貌似是的测试很多次都不行 # SERVICE_TARGET_DIR_NAMEky_ai_service # SERVICE_TARGET_DIR_PATH/etc/systemd/system/$SERVICE_TARGET_DIR_NAME SERVICE_TARGET_DIR_PATH/etc/systemd/system# --------------------------------------------------------------------------# 创建目标目录 # if [ ! -d $SERVICE_TARGET_DIR_PATH ]; then # mkdir -p $SERVICE_TARGET_DIR_PATH # echo 创建目录[$SERVICE_TARGET_DIR_PATH] # else # echo 目录已存在不重新创建[$SERVICE_TARGET_DIR_PATH] # fi # chmod 777 $SERVICE_TARGET_DIR_PATH -R# --------------------------------------------------------------------------# 判断服务是否存在 if systemctl list-unit-files --typeservice | grep -q $SERVICE_NAME; thenecho $SERVICE_NAME.service exists# 打印服务状态# systemctl status $SERVICE_NAMEecho# 这句明明是打印居然会触发 set -e 报错退出加上 || true# systemctl status $SERVICE_NAME || true# 貌似信息比较长时会有分页等待用户输入阻塞程序加上 --no-pager 选项systemctl status $SERVICE_NAME --no-pager || trueecho# 询问用户是否删除read -p Do you want to delete $SERVICE_NAME.service? (y/n): choiceif [[ $choice y || $choice Y ]]; then# 删除服务systemctl stop $SERVICE_NAMEecho 已 stop [$SERVICE_NAME] 服务 systemctl disable $SERVICE_NAMEecho 已 disable [$SERVICE_NAME] 服务# rm /etc/systemd/system/$SERVICE_NAME.service # 不用删会自动删的systemctl daemon-reloadecho 已 daemon-reloadecho $SERVICE_NAME.service has been deletedelseecho Exiting scriptexit 0fi elseecho $SERVICE_NAME.service not exists fi echo# --------------------------------------------------------------------------# 这句明明是打印居然会触发 set -e 报错退出 # systemctl list-unit-files | grep $SERVICE_NAME # systemctl list-unit-files | grep $SERVICE_NAME || true# --------------------------------------------------------------------------# Function: create_symlink # Description: Check if a symlink exists and is valid. If it is valid, prompt the user to delete and relink it. # If it is invalid, display an error message. If it does not exist, create a new symlink. # Parameters: # $1 - The target path of the symlink # $2 - The path of the symlink # Returns: # Nonefunction create_symlink() {SRC$1LINK$2if [ -e $LINK ]; thenif [ -L $LINK ]; thenecho The symlink $LINK is valid.read -p Do you want to delete and relink it? (y/n) choicecase $choice iny | Y)rm $LINKecho The symlink $LINK has been deleted.;;*)return 0;;esacelseecho The symlink $LINK is invalid.fifiecho Force create soft link: [$LINK - $SRC]ln -sf $SRC $LINKif [ $? -ne 0 ]; thenecho Force create soft link: [$LINK - $SRC] failedexit 1fils -l --colorauto $LINK }# --------------------------------------------------------------------------# 判断软链接/usr/local/bin/node是否存在如果存在判断软链接是否有效如果有效询问用户是否删除如果用户选择是则删除此软链接并重新创建 SERVICE_TARGET_FILE_PATH$SERVICE_TARGET_DIR_PATH/$SERVICE_FILE_NAME # ls -l --colorauto $NODE_LINK create_symlink $SERVICE_SOURCE_FILE_PATH $SERVICE_TARGET_FILE_PATH echo# --------------------------------------------------------------------------# 通知systemd重新加载配置文件 systemctl daemon-reload if [ $? -ne 0 ]; thenecho Systemctl daemon-reload failedexit 1 fi echo Daemon-reload successfully# 启用服务 systemctl enable $SERVICE_NAME if [ $? -ne 0 ]; thenecho Enable service [$SERVICE_NAME] failedexit 1 fi echo Enable service [$SERVICE_NAME] successfully# 启动服务 systemctl start $SERVICE_NAME if [ $? -ne 0 ]; thenecho Start service [$SERVICE_NAME] failedexit 1 fi echo Start service [$SERVICE_NAME] successfully# --------------------------------------------------------------------------echo # systemctl status $SERVICE_NAME || true # 貌似信息比较长时会有分页等待用户输入阻塞程序加上 --no-pager 选项 systemctl status $SERVICE_NAME --no-pager || true# --------------------------------------------------------------------------echo echo Service [$SERVICE_FILE_NAME] install successfully echo 但是又莫名其妙搞出来一个问题后面一直不能复现后来又好了一直无法复现考虑问题复现时使用备用方案 参考文章Current command vanished from the unit file, execution of the command list won‘t be resumed. 后面如果又碰到可以考虑直接systemd unit文件中直接执行python指令而不是脚本同时定义ExecStartPre和ExecStopPost执行指令前的激活虚拟环境和退出虚拟环境的操作 如果使用systemd来执行Python服务可以在service配置文件中设置ExecStartPre和ExecStopPost来在执行前进入虚拟环境执行后退出虚拟环境。 以下是一个示例的service配置文件展示了如何在执行前进入虚拟环境执行后退出虚拟环境 [Unit] DescriptionMy Python Service[Service] ExecStartPre/bin/bash -c source /path/to/venv/bin/activate ExecStart/path/to/python /path/to/script.py ExecStopPost/bin/bash -c deactivate[Install] WantedBymulti-user.target在这个示例中ExecStartPre指定了在执行前要执行的命令即进入虚拟环境的命令source /path/to/venv/bin/activate。ExecStart指定了要执行的Python脚本的路径。ExecStopPost指定了在执行后要执行的命令即退出虚拟环境的命令deactivate。 请将/path/to/venv替换为你的虚拟环境的路径将/path/to/python替换为你的Python解释器的路径将/path/to/script.py替换为你的Python脚本的路径。 通过这样的配置当你启动或停止该service时会自动进入和退出虚拟环境。 反正现在是正常的 20230811 虚拟环境中搞jtopjetson-stats还是有亿点问题 pip3 install -U jetson-stats
http://www.hkea.cn/news/14358207/

相关文章:

  • 易班网站的建设内容最差网站设计
  • 用php建设一个简单的网站如何让百度快速收录
  • 建设网站推广文案怎么制作网页快捷方式
  • 长春设计网站ppt欢迎页面模板
  • 网站建设英文字体做一些网站犯法么
  • 手机网站和app的区别建站智能模板
  • 徐州市建设局网站电话号码高档手表网站
  • 取消网站备案号北京网页制作公司
  • 做汽车新闻哪个网站好广西柳州网站建设公司
  • 营销型网站工程优化公司内部流程
  • 建设三类人员报考网站网站内容管理
  • 各大网站平台发布信息怎么做简单的视频网站
  • 有没类似建设通的免费网站网站硬件方案
  • 织梦网站定制深圳建站费用
  • 网站开发时间计划网站手机版
  • 天津城乡住房建设厅网站首页什么都能买到的网站
  • 做网站设计的广告公司自己动手的网站
  • 百度怎么注册自己的网站简易的在线数据库网站模板
  • 泰州专业做网站的公司263网站建设
  • 横店影视城网站建设山西建工网登录
  • win2008 iis7创建网站管理员网站后台上传本地视频
  • 国内企业建站模板做iframe跳转怎么自适应网站
  • 杭州网站建设app蒙古文政务网站建设工作汇报
  • 网站建设行业2017东莞网络推广
  • 网站运营代理柘城县网站建设
  • 苏州市住房建设局网站淘宝装修免费模板有哪些网站
  • 2008vps做网站外链建设给网站起的作用
  • 做百度网站还是安居客网站深圳高端商场排名
  • 建设项目银行网站兴国电商网站建设
  • 网站策划的最终体现是什么wordpress单本小说源码