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

与wordpress集成软件seo在线培训机构排名

与wordpress集成软件,seo在线培训机构排名,主机屋的免费空间怎么上传网站,郑州免费自助建站模板需求背景 服务是跑在docker的容器里的,因此要新建image依赖环境是Ubuntu,老的是16.4。 步骤 先准备环境,因为只有你的环境上去了,运行代码的时候才会报错,这样才会把需要改的代码暴露出来。 python3.5目前也是被遗弃的…

需求背景

  1. 服务是跑在docker的容器里的,因此要新建image
  2. 依赖环境是Ubuntu,老的是16.4。

步骤

先准备环境,因为只有你的环境上去了,运行代码的时候才会报错,这样才会把需要改的代码暴露出来。
python3.5目前也是被遗弃的状态,我不升级3.9是因为Ubuntu20.4自带python3.8,之前自己安装3.9各种报错

python环境升级
dockerfile所在目录

sources.list是对应的Ubuntu的阿里镜像源(这个镜像也可以是清华的,只要和Ubuntu的版本对应起来即可)
对应关系在这里

#ubuntu20.4的阿里镜像源
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

requirements.txt是项目所需的一些依赖库

#requirements.txt 项目所需的一些依赖库
appdirs==1.4.4
cryptography==3.3.1
ecdsa==0.14.1
Flask==1.1.2
Flask-Cors==3.0.10
Flask-JWT==0.3.2
Flask-PyMongo==2.3.0
future==0.18.2
idna==2.10
ipaddress==1.0.23
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
packaging==20.8
pyasn1==0.4.8
pycparser==2.20
pycrypto==2.6.1
PyInstaller==4.1
.
.
.

dockerfile文件里的东西也很简单,就安装一些项目需要的就可以了

FROM ubuntu:20.04
#更新ubuntu的软件源-draven,sources.list中的镜像要和ubuntu的版本对应起来
COPY ./sources.list /etc/apt/sources.list
RUN  apt-get update# 建立工作目录 /app
WORKDIR /home/workspace
ENV WORKSPACE /home/workspace
# 将当前文件所在的目录下的所有文件 copy 到工作目录
COPY . /home/workspace
RUN mkdir -p /home/requirements && chmod -R 777 /home/requirements
COPY requirements.txt /home/requirements/#设置时区
RUN apt-get install tzdata -y
RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && rm /etc/timezone && echo "Asia/Shanghai" >> /etc/timezone
RUN date
#设置忽略警告信息
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get install --assume-yes apt-utilsRUN apt-get install curl -y
RUN apt-get install -y apt-transport-httpsRUN echo -n | openssl s_client -connect www.mobibrw.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' |  tee '/usr/local/share/ca-certificates/www_mobibrw_com.crt'
RUN update-ca-certificates
RUN apt-get install -y gcc g++ makeRUN apt-get install python3-pip -y
RUN pip3 install --upgrade pip
RUN apt-get install vim -y
RUN apt-get install libssl-dev -y
RUN apt-get install libffi-dev
#提前把项目需要的依赖库安装在python的site-packages,pip会自动完成
RUN pip3 install -r requirements.txtRUN apt-get install nodejs -y
RUN apt-get install npm -y
然后准备工作做好了,cd到dockerfile所在目录,执行如下命令

docker build -t yourImageName:yourVersioninfo .
其中最后的这个点是表示在当前目录
然后就是耐心的等待,一层一层的layer嵌套

至此我们的环境就准备好了,其实上述的结果都是我经过不停的尝试和摸索的结果

  • 刚开始我不知道Ubuntu20.4默认安装python3.8,且没有python2.7,然后自己一顿安装python3.5和3.9
  • 不知道docker image的制作,就把老的image拿来改,结果费煞苦心还不好使,python各种依赖包错误,改项目的python代码也是各种报错(知道原理后,直接整新的image比较好)
    *环境装好之后 要在容器中去看python的版本信息,常用命令
    whereis python 可以看python的安装目录信息,版本信息
    pip -V 或者pip3 -V 查看pip的信息
  • 还有就是如果python3如果是你手动安装的,不要折腾软连接了,把对应编译代码的命令改了就行
python代码修改

具体python2.7的代码修改网上已经有很多了,百度就够了
这里就记录下自己遇到的几点问题

  • python的字符串问题
    主要体现在print函数,这个python的那个2-3框架可以做,自己手动改也OK,我项目中这样的代码不是很多
  • 编码解码问题
    python3.5之后采用的是Unicode编码,其中string和bytes是我遇到问题最多的场景

如果报错b'myString' XXXX 基本就是说需要一个字符串,但是你给了个bytes[]
如果报错decode或者encode的参数不对,再或者是序列化不对,也基本是python3升级后的语法变化,具体错误看trace call然后基本都能搞定

总结

这次一个很小的一个后台管理系统的服务端项目升级,我差不多花了10天的时间
1.python不熟,早点用pycharm修改代码会快很多
2.docker也不熟,以前只是启container,在里面操作
3.这次摸了这些石头,下次过河应该就会轻松很多

截屏2021-01-07上午11.17.16.png

可以看到上图中各种版本的image都有,python3.5的,3.8,web专用的
其中的none就是在build image的时候那一行命令对应的一层,如果某条命令失败了,重新build即可,因为之前的layer还在,这个docker的设计还是很棒的

最后编辑于:2024-10-01 17:48:35


喜欢的朋友记得点赞、收藏、关注哦!!!

http://www.ds6.com.cn/news/7589.html

相关文章:

  • 装饰工程造价青岛seo推广专员
  • 网站开发定价广告主平台
  • 深圳电商平台网站建设东莞全网推广
  • wordpress主题 xueui优化推广网站淄博
  • 网站建设浙江公司建官网要多少钱
  • 呼和浩特网站建设宣传百度快速排名用是
  • 个人怎样建设网站写文案接单平台
  • 视频解析接口网站怎么做便宜的seo网络营销推广
  • 新品销售网站建设广州seo公司品牌
  • 建设网站公司招聘2023第三波疫情已经到来了
  • 做网站都需要年服务费吗网站推广是什么
  • 充值网站分销站怎么做巨量算数数据分析
  • 中国作文网官网培训行业seo整站优化
  • 昆山网页网站制作淄博新闻头条最新消息
  • 枣强网站建设电话新手怎么做电商
  • 网站seo心态竞价托管多少钱一个月
  • 和平区网站制作如何利用互联网宣传与推广
  • 网站开发什么是会话关键词排名代发
  • 网站建设技术服务费怎么写分录百度推广在线客服
  • 网站开发论文模板采集站seo赚钱辅导班
  • 淘宝的网站建设百度热线电话
  • 九网互联怎么建设网站拉新推广赚钱的app
  • 揭阳网站开发网站宣传推广策划
  • 大气 网站模板上海seo顾问推推蛙
  • 广州网站建设clov5r品牌营销策划案例
  • 做企业网站推广多少钱效果最好的推广软件
  • 如果用别人公司信息做网站最新的新闻 今天
  • 武汉580做网站教你免费申请个人网站
  • 湖北去哪做经营性网站备案网址查询
  • 网站链接可以自己做吗环球网最新消息