在本地windows系统下开发个基于python语言的ocr小工具,起初本地并没有安装anaconda去管理python开发环境和依赖包。
直到某一天,小工具要上测试环境了,linux系统centos,怎么搭建一个linux下python环境呢?
1. 导出windows环境中的依赖包以及对应的版本号
python版本:3.6.8rc1
pip freeze >
内容如下
Keras==2.2.4
tensorflow==1.12.0
PyMySQL==0.9.2
h5py==2.8.0rc1
tensorboard==1.12.2
...
2. linux 安装 anaconda (Anaconda3-5.2.0-Linux-x86_64.sh)
创建虚拟环境,名称为:ocr
conda create --name ocr python=3.6
进入ocr环境
source activate ocr
挑选上述文件中,几个重要的包,比如:
conda install keras=2.2.4 tensorflow=1.12.0
安装完毕后,如果你不确定缺少哪些包,没关系,python *.py 运行代码,有报错提示
然后,继续 conda install pymysql, 这个时候包可以不用带版本号了,因为conda会根据特定的keras和tensorflow,安装兼容的pymysql版本包。
3. 制作启动脚本
#!/bin/bash
if [[ $# != 1 ]]
then
echo "Usage: {start|stop}"
exit 1
fi
SERVER=/opt/ocr/ocr
cd $SERVER
if [ -f "${SERVER}/" ]; then
kill `cat $SERVER/`
rm -rf $SERVER/
fi
case "$1" in
start)
__conda_setup="$(CONDA_REPORT_ERRORS=false '/root/anaconda3/bin/conda' hook 2> /dev/null)"
if [ $? -eq 0 ]; then
\eval "$__conda_setup"
else
if [ -f "/root/anaconda3/etc//" ]; then
. "/root/anaconda3/etc//"
CONDA_CHANGEPS1=false conda activate base
else
\export PATH="/root/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
conda activate ocr
ulimit -n 100000
nohup python tornado_server.py &
echo $! > $SERVER/
;;
stop)
if [ -f "${SERVER}/" ]; then
kill `cat $SERVER/`
rm -rf $SERVER/
fi
;;
*)
echo "Usage: {start|stop}"
;;
esac
exit 0
4. 多版本环境启动
anaconda支持多python环境同时运行,
创建2个虚拟环境ocr1 和 ocr2
conda create --name ocr1 python=3.6
conda create --name ocr2 python=3.7
启动时,只需复制上面bash脚本,修改其中的
conda activate 虚拟环境名称
python *.py