文章目錄
本文是個人使用經驗的總結,參考他人工作部分在文中相應地方提到,除此外全是本人原創。
工欲善其事,必先利其器,一個好的開發環境可以增加開發速度和開發版本的穩定性。本文主要講使用 windows環境下pycharm搭建本地及遠程python開發環境,將涵蓋以下內容:
- anaconda及pycharm的安裝
- pycharm python開發環境的配置及本地文件的編
- 實現本地python文件的編輯、運行和調試
- 連接多臺遠程服務器
- 利用遠程服務器上python開發環境進行運行和調試
1、Anaconda和Pycharm的安裝
在windows系統下安裝這兩個軟件,Anaconda是免費的,按照官方安裝教程安裝就行;pycharm有社區版和專業版,專業版功功強大但收費,如果不需要使用連接遠程服務器等功能使用社區版沒問題。
1.1 Anaconda安裝
參照官網安裝教程,完成下載和安裝。
- 下載 :
下載完成後的文件如下:
這個是我下載的版本,是目前最新版本,不同版本安裝過程區別應該不會太大。
- 雙擊運行,並點擊next,並點擊agree:
- 選just me
選擇加環境變量到系統,這樣可以方便後期配合其它軟件(如pycharm,vscode)使用.
註冊python3.7後將所有電腦上應用來使用這個版本的python3.7.如果要安裝不同版本的anaconda或多版本的python可以不選這一項。
- 點next:
提示選擇安裝pycharm. - 點擊next和finish
完成安裝,全程用進10幾分鐘。 - 驗證安裝
選擇Anaconda Prompt,點擊打開,並輸入conda list
,安裝成功的話會把所有的packages列出來:
1.2 Pycharm的安裝
打開網址,選擇合適版本(大部分版本都可以,只要能activate),進行下載:
安裝包:又擊一路按提示安裝:
*64-bit launcher* 在桌面創建pycharm快捷方式,版本是64位的 *update context menu* 右鍵點擊文件夾作爲項目並用pycharm打開 *Add launchers dir to the path* 可以通過命令行打開pycharm,這個也沒必要,通過雙擊快捷方式就可以打開 *create Associations*將系統上的.py文件關聯到pycharm上,不想所有..py文件全用pycharm打開就不用選完成安裝桌面會多一個快捷方式。
接下來不用重啓系統也可以進行activate.
雙擊打開,初次初裝不會有歷史配置,但升級安裝可以選歷史的安裝設置:
接着選配色,我選白色風格:
接着進行activate,這個過程就不再多說了,大家自行度娘吧。
接着是:
a. Create New Project :
這個可以指定項目類型,Pure Python或其它,比如Scientific: 可以看到,差別不大(其它項目也差不多),都有*Location*,*Project Interpreter*; 如果使用*New environment using*會有三種虛擬環境來選擇,未安裝Anaconda的話,選擇Virtualenv會自動創建一個環境,選Pipenv這個本人沒有試過,安裝Anaconda後,選擇Conda,也會自動創建一個環境。因爲我們安裝有Anaconda,所以選擇*Existing interpreter*打開如圖鍵頭所指:
可選種類很多,我們選Conda Environment來使用我們安裝好的Anaconda.下面把這些可選項的內容都列出來看看.
Interpreter類型 | 說明 |
---|---|
使用virtualenv中的python解釋器,其中Make availale to all projects 就是一次設置,所有項目都將使用這個解釋器,否則本次設置只爲 本項目單獨設置,有新的項目後再重新設置 |
|
這個就我們conda的環境及路徑,將使用Aancconda安裝後的 base環境中python解釋器,將可以使用所有Anaconda 中自帶的packages |
|
系統Interpreter如果安裝有 python IDLE或任何其它解釋都可以 |
|
這個未曾使用過(看圖中的紅字, 所以使用這個應該需要先安裝pipenv) |
|
這個是使用遠程服務器上的python解釋器可以是任何 的環境安裝的python(系統自帶,anaconda,vitrualenv等), 曾用過遠程anaconda環境的python,可以使用完整的整個 anaconda的環境,這個配合遠程服務器工作非常好 |
|
沒使用過,以後可能會研究 學習一下,畢竟現在很熱門 |
|
未曾使用過 |
我們選用conda的base環境,如下。
Conda executable這一項系統自動檢測到並填寫,Interpreter可以打開 Anacond prompt(默認找開base環境),輸入where python
,可以查看python解釋器的位置:
只爲當前項目做這一項的設置:
安裝成功
b. Open
已經有項目,我們可以直接打開已經有的項目,比如上邊新建的test項目
c. Get from Version Control
本機上要下載git(這個是主流使用的),然後配置pycharm:
Configure->Settings->Version Control ->Git
系統會自動檢測到我們git的安裝位置,點擊Test
可以測試是否可以使用。
設置好以後就可以選擇:
這樣一個新的項目就使用git配置好了,並且以後可以一直使用該git完成提交等版本控制。作爲對比,我們可以看一下有無版本控制的區別,上一個test項目和本項目的文件上分別鼠右擊:
到此,pycharm的安裝和項目的新建就完成了。
2、pycharm開發環境的配置及本地運行調試
本節主要講python解釋器的設置或變更、python packages的安裝、git版本控制。由於pycharm功能強大,在實踐中有什麼新的需求可查官方說明。
2.1 pycharm項目解釋器的設置及packages的安裝
初建項目時,就已經設置好了解釋器,正常來說是不會改變的,但要知道如何設置。
File->Settings->Project:test->Project Interpreter
點擊小齒輪,可以像新建項目時那樣設置解釋器;點擊加號可以安裝軟件包
在anaconda prompt的命令行中使用conda 安裝也可以,具體conda使用方法,參見本人其它博客
2.2本地代碼的運行及調試
這部分還是簡單,只要按照說明使用即可
在實踐中多使用,慢慢會學會。
2.3 爲已有項目填加git版本控制
這部分主要講創建項目時不是從version control中產生,而是新建的本地項目,我們將其使用git加入版本控制.
在github上創建一個test1的repository,如果不使用pycharm,單純使用git:
echo "# test1" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/abcdef/test1.git
git push -u origin master
現在使用pycharm,請參照其它人的這篇博客,親測有效,需要補充的產是無需安裝.gitignore,因爲新版本的pycharm在add和commit的時候可選文件,當然按照原博客來操作也沒什麼問題.
3、Pycharm連接多臺遠程服務器
工作中,我們更多的是鏈接到遠程的服務器來進行python開發,包括運行、調試及文件傳輸。
3.1 連接遠程服務器
還是以我們新建的項目test爲例。鏈接遠程服務器,需要知道ip(通過ifconfig
可以查看)及用戶名和密碼,這個可以通過管理員獲得。這種教程網上挺多的,但考慮到和我當前這個版本不同,並且教程不夠細緻,這裏就不引用別人的工作,直接自己走一遍了。
- 點擊Tools->Deployment->Configuration…
- 接着在打開的新窗口點加號
- 在打開窗口爲要連接的服務器起個名字
*接着在第一個選項Connection
中填入相應的遠程服務器的Ip,用戶名和密碼,可選擇記住密碼,Root path建意選遠程服務器上個人home的路徑。對於能否連接成功,有Test Connection
來進行測試。
流程是這樣,輸入Host,然後是用戶名和密碼(保存密碼),然後點擊Test Connection
,如是連接成功,會有下圖
接着,點擊Root path 後Autodetect
,會自動填入,最終結果如下:
選擇一個文件,如下:test項目的所有內容都將與/home/****/aa對應。
- 最後點擊OK.
通過Add New Mapping
可以實現更多的對應。
配置成功後,再次點tools->Deplement:
可以看到多了幾項內容
Upload to test
:直接上傳內容到test(我們給服務器起的名字)服務器
Upload to ...
:在有多個遠程服務器的時候是選擇上傳到那個服務器的
下邊還有從服務器下載,同步等功能,這裏不再綴述。
通過右擊test,也可以找這些選項,而且更加常用一些;右擊可以針對整個項目或單個文件:
- 上傳a.py文件
- 編輯遠程文件
同樣,右擊可以進行,具體不再詳述。
如果要連接多臺服務器,可以同樣方法,設置新的連接
3.2 利用遠程服務器的python開發環境進行運行和調試
- 點擊Tools-> start ssh session,可以打開或新建遠程的shell環境:
完全可以直接使用遠程的環境。
- 使用遠程python解釋器
在遠程服務器上,我使用的是conda環境,該環境的使用和搭建,參見系列博客,通過遠程shell激活一個環境,找到python解釋器的位置,然後從pycharm中配置該服務器。
conda activate tf2
which python
參照本博客前邊內容,修改python解釋器,
File->Settings->Project:test->Project Interpreter->點小齒輪->add->ssh Interpreter->Existing Server configuration->點...
->選test(遠程服務器名字),點擊OK
->進行後續設置
以下是選擇我們建好連接的遠程服務器,也可以自己新建
. 上圖可見,我們有兩種選項,不是很理解,選`Create`不會有問題 ,並點擊Next。.
有兩個地方需要更改,`Interpreter`要改成我們遠程服務器上想要選擇的python解釋器的位置(通過where python查找),下邊附加選項是否要用sudo,這個根據自身權限來選擇,另一個地方是`Sync folders`,是實現本地項目地址與遠程服務器地址同步的,附加下邊的選項是‘是否要自動上傳本地服務器到服務器',我這裏就選擇是後,本地有任何新的改動,都會被上傳到遠程服務器並覆蓋原文件。 完成設置後,可以看到我們新環境的packages:整個過程完成。然後使用運行或調試,都是使用遠程環境,可以完全的進行遠程調試。
如上圖b.py文件的內容是:
import os
print(os.getcwd()))
運行後,輸出的是遠程服務器的地址;
另外,要執行調式,如下圖:
還有可以繼續Tools->Deploment->configuration:
可以看到,與我們原來的建立的遠程服務器的連接相同。在Mappings中可以設置本地與服務器的文件同步對應路徑。
本地和遠程完全自動的文件同步,完全相當於本地運行遠程。
還有一種遠程調試方法
之前連接遠程服務器的工作同樣需要
Run->Debug->Edit Configuratons->點擊加號->Python Remote Debug
然後定義遠程調試的名字,本地機器的ip,port自己定義,還有文件對應
.
.
完成後可以看到pycharm右上角窗口:
接着pycharm上打開遠程test服務器shell,執行代碼:
pip install pydevd-pycharm~=193.5662.61 # 或conda的虛擬環境中安裝,都可以
import pydevd_pycharm
pydevd_pycharm.settrace('192.**.**.**', port=4453, stdoutToServer=True, stderrToServer=True)
#這兩行寫到要調試的代碼開頭,比如文件b.py
然後對b.py進行調試,如下圖紅框,點那個小蟲子開始調試,console中顯示等待連接:
切換到遠程服務器的Terminal,然後執行文件b,會開啓調試,自動跳轉到Debug:
Terminal中顯示:
Debug中顯示:
從上圖右下角看出,本文的兩種調試方法應該是相似的(相同的),但是用法不同。個人覺的用第一種比較方便,只要將項目的解釋器設置成遠程解器就可以。到些,本文就全部寫完了,還一些關於pycharm使用本地或遠程服務器上jupyter notebook的情況這裏就不再詳述,因爲本人覺的pycharm對jupyter的支持不是很好,用起來不是很方便