最全Pycharm教程(3)——代碼的調(diào)試、運(yùn)行 最全Pycharm教程(4)——有關(guān)Python解釋器的相關(guān)配置 最全Pycharm教程(5)——Python快捷鍵相關(guān)設(shè)置 最全Pycharm教程(6)——將Pycharm作為Vim編輯器使用 最全Pycharm教程(8)——Django工程的創(chuàng)建和管理 最全Pycharm教程(9)——?jiǎng)?chuàng)建并運(yùn)行一個(gè)基本的Python測試程序 最全Pycharm教程(10)——Pycharm調(diào)試器總篇 最全Pycharm教程(11)——Pycharm調(diào)試器之?dāng)帱c(diǎn)篇 最全Pycharm教程(12)——Pycharm調(diào)試器之Java腳本調(diào)試 1、主題 這篇教程將逐步介紹如何通過Pycharm將你的代碼部署在遠(yuǎn)程服務(wù)器上。 2、準(zhǔn)備工作 ?。?)Pycharm版本為3.0或者更高 ?。?)擁有待部署遠(yuǎn)程服務(wù)器的訪問權(quán)限 強(qiáng)調(diào)這篇教程是針對win7操作系統(tǒng),使用了默認(rèn)的快捷鍵配置方案,不同系統(tǒng)下的默認(rèn)快捷鍵配置方案可能不同。 3、準(zhǔn)備實(shí)例 建議使用 Getting Started篇所介紹的實(shí)例,那里面已經(jīng)將主要步驟描述清楚,直接借用即可。 4、配置一個(gè)部署服務(wù)器 單擊主工具欄中的設(shè)置按鈕來打開Settings/Preferences對話框,選擇 Deployment頁面(也可以通過主菜單上的Tools→Deployment→Configuration命令來完成)。 單擊綠色加號(hào),在Add Server對話框中,輸入服務(wù)器的名稱(MyRemoteServer)并指定其類型(此處選擇Local or mounted folder):
此時(shí)已經(jīng)添加了一個(gè)新的服務(wù)器,但其內(nèi)容為空。它只顯示了Web服務(wù)的根域名(http://localhost),你需要在其中上傳你的文件。 5、如何定值連接表單 選擇帶上傳文件所在目錄,這里為本地目錄C:\xampp\htdocs(既可以手動(dòng)輸入,也可以通過Shift+Enter快捷鍵來打開Select Path對話框進(jìn)行輸入),詳見 product documentation:
6、如何定制映射表單 接下來,選擇Mappings tab,其中的Local path欄默認(rèn)包含了工程根目錄。當(dāng)然你可以選擇你的工程樹中的任意目錄,這里我們使用它的缺省值。 在Deployment path欄中(缺省值為空),需要定義服務(wù)器所在文件夾,將來Pycharm會(huì)從Local path文件夾向其中上傳文件。這里選擇為C:\xampp\htdocs。 最后在 Web path on the server MyRemoteServer欄中使用其缺省值:
OK,保存設(shè)置,服務(wù)可用。 7、瀏覽遠(yuǎn)端主機(jī) 你需要簡單的確認(rèn)一下你的服務(wù)器是否已上線并正常運(yùn)行。打開Remote Hosts tool window(位于PyCharm窗口的右邊緣):
當(dāng)然,也可以通過Tools→Deployment→Browse Remote Hosts菜單命令來打開這個(gè)窗口。 8、部署工具 接下來開始執(zhí)行部署操作。 9、上傳 首先,向遠(yuǎn)端服務(wù)器上傳文件,做法如下: 在 Project tool window窗口中,右擊待上傳的文件,這里為Solver.py。在彈出的快捷菜單中,選擇Deployment→Upload to MyRemoteServer,觀察上載結(jié)果:
當(dāng)然我們也可以上傳工程目錄下的所有文件。例如,右擊Solver.py文件所在父目錄(src),在快捷菜單中選擇Upload to MyRemoteServer,就能夠?qū)⒛夸浵碌乃形募蟼鞯椒?wù)端:
10、遠(yuǎn)程、本地版本比較 此時(shí)再遠(yuǎn)程服務(wù)端和本地服務(wù)端都有一份Solver.py文件,它們是完全相同的。此時(shí)切換到本地視圖。 做法很簡單,將光標(biāo)定位在函數(shù)聲明語句上,按下Ctrl+Alt+Shift+T(或者主菜單上的Refactor→Refactor This命令):
如你所見,快捷菜單中列出了當(dāng)前文本下可用的所有代碼重構(gòu),我們這里選擇Rename refactoring,并且rename a method:
單擊Do Refactor,觀察函數(shù)名稱以及用法的改變。 此時(shí)我們已經(jīng)對一個(gè)本地版本進(jìn)行了更改,接下來我們需要做的就是讓Pycharm接收到這些更改。再次進(jìn)入Project tool window,右擊Solver.py文件,在快捷菜單中選擇Deployment→Compare with Deployed Version on MyRemoteServer。Pycharm會(huì)打開differences viewer for files對話框,在這里你可以通過shevron按鈕來核對所做的改變:
更多信息參見product documentation。 11、下載
右擊Solver.py,選擇Deployment→Download from MyRemoteServer,Pycharm會(huì)立即給出警告提示: 不必驚慌,直接單擊Continue即可:
對應(yīng)的你也可以下載整個(gè)目錄下的文件,前提是這些文件已經(jīng)上傳完成。例如,右擊父目錄src,執(zhí)行相同操作,即會(huì)自動(dòng)下載目錄中所有嵌套文件。 然而如果你試圖下載一個(gè)還未上傳的文件,Pycharm會(huì)給出下載失敗的提示:
12、同步機(jī)制調(diào)整 首先需要進(jìn)行一步準(zhǔn)備工作,就是將對Solver.py文件所做的更改撤銷(Ctrl+Z),此時(shí)會(huì)再次看到Solver.py文件中類的成員函數(shù)重構(gòu)名稱。 接下來右擊Solver.py,選擇Deployment→Sync with Deployed to MyRemoteServer,Pycharm彈出 differences viewer for folders窗口,在這里你可以通過shevron按鈕來核對所做的單獨(dú)改變:
當(dāng)然也可以對整個(gè)文件夾進(jìn)行同步操作。例如右擊node_modules選擇Deployment→Sync with Deployed to MyRemoteServer,此時(shí)會(huì)在左窗口中顯示node_modules文件夾中的內(nèi)容,但右側(cè)窗口為空,因?yàn)樵撃夸浵碌奈募⑽瓷蟼鞯椒?wù)端。我們可以在此處進(jìn)行上傳。選擇待同步的文件,單擊工具欄上的
13、自動(dòng)上傳至缺省服務(wù)器 當(dāng)用戶需要在服務(wù)端使用與Pycharm工程中完全相同的文件時(shí),自動(dòng)上傳功能就顯得很用幫助。自動(dòng)上傳功能意味著無論在IDE中對代碼進(jìn)行了何種改變,Pycharm都會(huì)自動(dòng)將其保存在已部署的默認(rèn)的服務(wù)端。 14、將服務(wù)器指定為缺省服務(wù)器 缺省服務(wù)器的最大優(yōu)點(diǎn)就是可以使用自動(dòng)上傳功能,指定方法如下: ?。?)在Deployment page頁面上選擇一個(gè)服務(wù)器。有兩種打開Deployment page頁面的方法:要么使用Settings/Preferences→Deployment菜單命令,要么使用Tools→Deployment→Configuration菜單命令。 ?。?)在server configurations列表中,單擊缺省按鈕:
15、啟用自動(dòng)上傳功能 設(shè)置完缺省服務(wù)器之后,接下來就是開啟自動(dòng)上傳功能。做法如下: 首先,打開Options部署選項(xiàng)(主菜單中的Settings/Preferences→Deployment→Options 或者 Tools→Deployment→Options命令),在Upload files automatically to the defaylt server選項(xiàng)中選擇Always,或者On explicit save action選項(xiàng):
以上兩個(gè)選項(xiàng)之間的差別詳見 in the field description。 第二步,勾選主菜單Tools→Deployment→Automatic upload復(fù)選框,注意此時(shí)的automatic apload選項(xiàng)已經(jīng)處于Always的模式:
值得一提的是,我們并不推薦在發(fā)布的產(chǎn)品中使用Always模式,避免我們在部署過程中不經(jīng)意上傳了未開發(fā)完整的代碼,從而破壞了產(chǎn)品的穩(wěn)定性。 16、上傳外部更改 默認(rèn)情況下Pycharm只上傳文件自身的更改情況,如果我們通過其他途徑對文件進(jìn)行了更改,例如通過VCS branch、transpilation of SASS 或者 LESS or a File Watcher進(jìn)行的更改,Pycharm是不會(huì)將這些更改自動(dòng)上傳的,為了保證這些更改也能順利上傳,需要啟用Upload external changes功能:
|
|