之前利用wxpy包寫了一個定時發(fā)送每日一句給朋友,無奈當時沒有服務(wù)器,所以每天都要自己運行下腳本進行,今天找到了公司的一個空閑服務(wù)器(python版本是3.6.6),所以就先安裝了Python3.6.7,然后把python代碼部署了上去。
1.工具準備:
Putty
SSH Secure Shell Client
2. 安裝依賴環(huán)境(若已安裝則可跳過)
查看linux版本
cat /proc/version
Linux version 2.6.32-642.el6.x86_64 (mockbuild@worker1.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ) #1 SMP Tue May 10 17:27:01 UTC 2016
然后安裝依賴環(huán)境(可選)
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
3.下載Python3
地址:https://www.python.org/downloads/
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tgz
4.安裝python3
我個人習慣安裝在/usr/local/python3(具體安裝位置看個人喜好)
創(chuàng)建目錄:mkdir -p /usr/local/python3
解壓下載好的Python-3.x.x.tgz包(具體包名因你下載的Python具體版本不不同?而不不同,如:我下載的是Python3.6.7.那我這里就是Python-3.6.7.tgz)
解壓命令:
tar -zxvf Python-3.6.7.tgz
5.進入解壓后的目錄,編譯安裝。
cd Python-3.6.7
./configure --prefix=/usr/local/python3
make( make實際上編譯你的源代碼,并生成執(zhí)行文件。)
make
make install (make install實際上是把生成的執(zhí)行文件拷貝到 linux系統(tǒng)中必要的目錄下,比如拷貝到 /usr/local/bin 目錄下,這樣所有 user就都能運行這個程序了。)
make install 或者 make && make install
到這里Python 就算安裝完成了。需要說的是,其實其他的 linux軟件安裝也是大同小異的,基本都需要走 configure>make>make install這么一個過程。
6.建立python3的軟鏈
安裝完之后,我們執(zhí)行python命令,你會發(fā)現(xiàn)默認的 python命令仍舊是指向舊的版本 2.6.6
# which python
/usr/local/bin/python
因此需要建立python3的軟鏈:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
7.并將/usr/local/python3/bin加入PATH
# vim ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
export PATH
按ESC,輸入:wq回車退出。
修改完記得執(zhí)行行下面的命令,讓上一步的修改生效:
# source ~/.bash_profile
檢查Python3及pip3是否正??捎茫?/p>
# python3 -V
Python 3.6.7
# pip3 -V
pip 10.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)
部署Python文件
文件源代碼:
from __future__ import unicode_literals
from threading import Timer
from wxpy import *
import requests
#bot = Bot()
bot = Bot(console_qr=2,cache_path="botoo.pkl")
#這里的二維碼是用像素的形式打印出來!,如果你在win環(huán)境上運行,替換為bot=Bot()
def get_news1():
#獲取金山詞霸每日一句,英文和翻譯
url = "http://open.iciba.com/dsapi/"
r = requests.get(url)
tts =r.json()['tts']
contents = r.json()['content']
translation= r.json()['translation']
return tts,contents,translation
def send_news():
try:
my_friend = bot.friends().search(u'朋友微信名稱')
#替換為你朋友的微信名稱,不是備注,也不是微信帳號。
mf=ensure_one(my_friend)
my_group=bot.groups().search(u'群組名稱',[mf])
#替換群組名稱,根據(jù)好友查詢?nèi)航M
news=get_news1()
mf.send(news[0])
mf.send(news[1])
mf.send(news[2][5:])
mf.send(u"來自朋友的每日一句!")
my_group[0].send(news[1])
my_group[0].send(news[2][5:])
my_group[0].send(u"來自朋友的每日一句!")
t = Timer(86400, send_news)
#每86400秒(1天),發(fā)送1次,不用linux的定時任務(wù)是因為每次登陸都需要掃描二維碼登陸,很麻煩的一件事,就讓他一直掛著吧
t.start()
except:
my_friend = bot.friends().search('你的微信名稱')[0]#你的微信名稱,不是微信帳號。
my_friend.send(u"今天消息發(fā)送失敗了,消息為:"+news[1])
if __name__ == "__main__":
send_news()