Python遠(yuǎn)程開發(fā)環(huán)境部署與調(diào)試過程圖解
這篇文章主要介紹了Python遠(yuǎn)程開發(fā)環(huán)境部署與調(diào)試過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一、下載相應(yīng)開發(fā)工具
Pycharm :下載地址
二、部署開發(fā)機(jī)
一般在工作過程中,開發(fā)環(huán)境并不是本地環(huán)境,而是指在開發(fā)機(jī);因?yàn)椋泻芏嘁蕾嚤镜夭渴鸱浅B闊?,而開發(fā)機(jī)中則內(nèi)置了很多相關(guān)的服務(wù)
三、代碼自動(dòng)化部署
由于我們?cè)诒镜剡M(jìn)行代碼編輯、在開發(fā)機(jī)中進(jìn)行代碼的運(yùn)行及調(diào)試,因此,需要一種很方便的方式進(jìn)行代碼的遠(yuǎn)程自動(dòng)化部署Pycharm 基于SFTP 的自動(dòng)化部署
Pycharm 中集成了基于SFTP的自動(dòng)化部署方案,可以實(shí)時(shí)將改動(dòng)的代碼部署于線上服務(wù)器。
Add Server
配置路徑:Tools -> Deployment -> Configuration -> Add (左上角加號(hào)) : Type 選擇SFTP
Connection
說明:
SFTP host :開發(fā)給的IP
Root path :當(dāng)前代碼及依賴的架包等共同的父目錄(在頭條,源代碼一般部署在/opt/tiger 目錄下,請(qǐng)確保當(dāng)前的用戶在該目錄擁有讀寫權(quán)限)
User name :登錄開發(fā)集的用戶名
Auth type:使用Key pair 可以很方便的進(jìn)行登錄Mapping
Deloyment
path:源碼上傳到服務(wù)器時(shí)的目錄因?yàn)樵贑onfiguration 中我們已經(jīng)配置了Root path,因此,此處的Deloyment path 選擇相對(duì)的根目錄即可配置自動(dòng)上傳
Tools -> Deployment -> Automatic Upload(always) 即可自動(dòng)將修改的代碼上傳至服務(wù)器中
說明:點(diǎn)擊Upload to *** 即可將當(dāng)前代碼手動(dòng)上傳至開發(fā)機(jī)
四、遠(yuǎn)程調(diào)試環(huán)境
現(xiàn)在我們的代碼在開發(fā)機(jī)中運(yùn)行,在開發(fā)過程中,我們需要對(duì)我們開發(fā)的代碼進(jìn)行高效的調(diào)試,檢查代碼邏輯的正確性。遠(yuǎn)程調(diào)試方法有兩種:遠(yuǎn)程調(diào)試 和 查看Log遠(yuǎn)程Debug的有點(diǎn)在于將開發(fā)機(jī)當(dāng)做本地環(huán)境,可以實(shí)時(shí)跟蹤檢查點(diǎn)的數(shù)據(jù)結(jié)果、實(shí)時(shí)查看日志配置Project Interpreter
配置遠(yuǎn)程服務(wù)器
Preference -> Project -> Project Interpreter -> Add -> SSH Interpreter -> Exsiting server configuration由于我們?cè)谥耙呀?jīng)配置了Deployment Configuration Connection ,因此只要選擇對(duì)應(yīng)的Deployment Configuration即可
配置Interpreter
Interpreter:在下一步中選擇對(duì)應(yīng)的python執(zhí)行器,由于頭條真對(duì)MySQLdb等做了服務(wù)發(fā)現(xiàn)等相關(guān)的修改,該修改后的架包放置于:/opt/tiger/ss_lib/python_package/bin/python 下,因此,可以選擇該P(yáng)ython執(zhí)行器作為Interpreter 或者生成自己的envSync folders: 選擇自己在服務(wù)器中存放源碼的目錄
五、遠(yuǎn)程運(yùn)行及調(diào)試
遠(yuǎn)程運(yùn)行如本地環(huán)境一般運(yùn)行python程序即可配置相關(guān)依賴由于項(xiàng)目需要許多外部依賴,如果盡在PYTHONPATH中配置對(duì)應(yīng)的路徑會(huì)存在幾個(gè)問題:
多個(gè)項(xiàng)目公用PYTHONPATH 會(huì)相互影響
無法再外部依賴內(nèi)進(jìn)行遠(yuǎn)程debug,因此無法了解內(nèi)部運(yùn)行情況
本地與遠(yuǎn)程依賴關(guān)聯(lián)方法如下:
配置本地依賴
將相應(yīng)的依賴下載到本地,并Add Content Root
Preference -> Project -> Project Structure -> Add Content Root 選擇下載到本地的依賴
依賴遠(yuǎn)程關(guān)聯(lián)由于大部分的依賴在/opt/tiger 下,因此不需要下載;如果該目錄下不存在,則可以選擇從git中下載,一般存在目錄都會(huì)放在/opt/tiger 下
Path mapping
在Run -> Edit Configurations 下配置對(duì)應(yīng)的Path mapping,配置依賴的本地和遠(yuǎn)程地址即可。
現(xiàn)在就可以像在本地一樣debug 你的代碼了?。。?/p>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Jetson nano配置VNC實(shí)現(xiàn)過程圖解
- 詳解如何使用Docker部署Django+MySQL8開發(fā)環(huán)境
- Spring Boot 開發(fā)環(huán)境熱部署詳細(xì)教程
- vue項(xiàng)目打包之開發(fā)環(huán)境和部署環(huán)境的實(shí)現(xiàn)
- 4種Windows系統(tǒng)下Laravel框架的開發(fā)環(huán)境安裝及部署方法詳解
- 詳解.net core webapi 前后端開發(fā)分離后的配置和部署
- vue-router啟用history模式下的開發(fā)及非根目錄部署方法
- Jetson tk2開發(fā)部署實(shí)現(xiàn)過程圖解
相關(guān)文章
Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python Flask基礎(chǔ)到登錄功能的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Python Shiny庫創(chuàng)建交互式Web應(yīng)用及高級(jí)功能案例
Shiny是一個(gè)基于Python的交互式Web應(yīng)用框架,專注于簡化Web應(yīng)用的開發(fā)流程,本文將深入探討Shiny庫的基本用法、高級(jí)功能以及實(shí)際應(yīng)用案例,以幫助開發(fā)者充分發(fā)揮Shiny在Web應(yīng)用開發(fā)中的優(yōu)勢(shì)2023-12-12Python實(shí)現(xiàn)提取XML內(nèi)容并保存到Excel中的方法
這篇文章主要介紹了Python實(shí)現(xiàn)提取XML內(nèi)容并保存到Excel中的方法,涉及Python針對(duì)xml文件的讀取、解析以及Excel文件的寫入、保存等相關(guān)操作技巧,需要的朋友可以參考下2018-09-09解決安裝pycharm后不能執(zhí)行python腳本的問題
今天小編就為大家分享一篇解決安裝pycharm后不能執(zhí)行python腳本的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01python實(shí)現(xiàn)while循環(huán)打印星星的四種形狀
今天小編就為大家分享一篇python實(shí)現(xiàn)while循環(huán)打印星星的四種形狀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python中強(qiáng)大的命令行庫click入門教程
click是Python的一個(gè)命令行工具,極其好用。不信?一試便知。下面這篇文章主要給大家介紹了Python中強(qiáng)大的命令行庫click,需要的朋友可以參考學(xué)習(xí),下面來一起看看吧。2016-12-12