vercel是一個代碼托管平台,它能夠托管你的靜態html界面,甚至能夠托管你的node.js與Python服務端腳本,簡直是不想配服務器的懶人的福音!
要使用vercel首先你需要一個vercel賬號,這裡我推薦用GitHub賬戶關聯,這樣你就可以在vercel中直接托管你的GitHub庫中的項目了,實現開發部署一步到位。
P.S:鏈接不上請科學上網
在Vercel主頁可以直接用GitHub登錄
點擊new project
如果找不到你需要的庫,就在新跳轉的界面點擊Adjust Github App Permissions
然後導入你需要托管的項目就可以成功托管了
托管python項目和托管靜態網站沒有什麼不同,不過有這麼幾點需要注意:
1.要用vercel托管python項目,首先你需要在項目目錄建立一個api
文件夾,裡面存放你的python腳本。
2.api文件夾裡也是以index.py
為入口的,當然你也可以在Vercel中指定程序入口。
你的python腳本結構應該如下例所示:
from http.server import BaseHTTPRequestHandler
class handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/plain')
self.end_headers()
self.wfile.write("DearXuan's API by python!".encode())
return
當你托管成功以後,就可以在地址欄中輸入${your_project_name}.vercel.app/api
來查看你的後端接口了~
將所有的包打包進你的程序中似乎不太好,但是別擔心,vercel已經替你考慮過這個問題了,你只需要生成一個包含你引用過的包的requirements.txt
就可以了。
至於怎麼生成requirements.txt呢?方法有很多,但是很多都不奏效。經過我的測試,只找出一種行之有效的方法:
pipreqs ./ --encoding=utf8
這樣就算你的項目引用了外部的包也可以正常運行啦~