搭建背景:
最近一直在刷票,無休止的刷票還是搶不到票,我好難啊。無意間發現了一個python自動刷票的專案,號稱是搶票概率提升大大的。專案地址: https://github.com/testerSunshine/12306。趕緊下載了部署看看,結果研究發現裡面需要用到圖片識別的的東西,專案提供的識別伺服器不讓長時間使用,無奈作為一個技術男自然要自己搭建一個識別伺服器。話不多說,開始行動。
搭建過程:
簡單說下我的系統版本是centos6.4,python3.6版本的按照這個專案 https://github.com/YinAoXiong/12306_code_server 來搭建。
(1)克隆專案
git clone https://github.com/YinAoXiong/12306_code_server.git
(2)安裝依賴包
pip3 install -r requirements.txt
(3)
下載模型(這是訓練好的模型,用於12306圖片識別)
bash download_model.sh
(4)修改配置
gunicorn.conf的配置根據需要修改,我這裡只修改埠號
(5)啟動
gunicorn app:app -c gunicorn.conf.py
錯誤解決:
(1)gunicorn app:app -c gunicorn.conf.py
啟動報錯,提示/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/local/tools/fetion/lib/libstdc++.so.6)
懷疑是GCC版本太低,我係統自帶GCC 4.4.7於是升級到4.8
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
tar -jxvf gcc-4.8.2.tar.bz2
cd gcc-4.8.2
./contrib/download_prerequisites
mkdir gcc-build-4.8.2
cd gcc-build-4.8.2
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make -j4
make install
檢視版本
gcc -v
重新啟動報錯
version `GLIBCXX_3.4.21' not found在升級gcc時,生成的動態庫沒有替換舊版本的動態庫
我先升級下glibc試試
strings /lib64/libc.so.6 |grep GLIBC
wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar zxvf glibc-2.17.tar.gz
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
還是不行,這個可能是gcc動態庫沒有更新的原因
find / -name "libstdc++.so*"
strings /opt/gcc-4.8.2/gcc-build-4.8.2/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so |grep GLIBC
cp /opt/gcc-4.8.2/gcc-build-4.8.2/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18 /usr/lib64/
cd /usr/lib64
mv libstdc++.so.6 libstdc++.so.6_bak
ln -s libstdc++.so.6.0.18 libstdc++.so.6 連結新的庫
重新啟動解決
驗證碼識別: