【開發環境搭建】5.Pycharm+Anaconda的python開發環境搭建


本文是個人使用經驗的總結,參考他人工作部分在文中相應地方提到,除此外全是本人原創。
工欲善其事,必先利其器,一個好的開發環境可以增加開發速度和開發版本的穩定性。本文主要講使用 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.
雙擊打開,初次初裝不會有歷史配置,但升級安裝可以選歷史的安裝設置:
在這裏插入圖片描述
接着選配色,我選白色風格:

接着選pluglin,這個就不選了,用pycharm自帶的。

接着進行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解釋器的位置:

在這裏插入圖片描述
只爲當前項目做這一項的設置:

項目地址主到D盤test下面,然後點擊create,就完成了。 打開該項目的解釋器:File-> Settings ...:

安裝成功

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對應。
在這裏插入圖片描述

  1. 最後點擊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的支持不是很好,用起來不是很方便

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章