最全PyCharm教程--for python

 

 



    最全Pycharm教程(1)——定製外觀

  最全Pycharm教程(2)——代碼風格

  最全Pycharm教程(3)——代碼的調試、運行

  最全Pycharm教程(4)——有關Python解釋器的相關配置

  最全Pycharm教程(5)——Python快捷鍵相關設置

  最全Pycharm教程(6)——將Pycharm作爲Vim編輯器使用

  最全Pycharm教程(8)——Django工程的創建和管理

  設想這樣一種情況,你在一個平臺上操作你的工程,但你希望在另外一個平臺上完善並運行它,這就是爲什麼Pycharm做了很多工作來支持遠程調試。

  在虛擬機上運行一個工程主要包含以下步驟:

  (1)定義一個虛擬框架define a virtual box

  (2)需要在虛擬框架下配置一個遠程的解釋器configure a remote interpreter 

  (3)在遠程控制檯加載當前工程launch your script in the remote console

  1、準備工作

  確定你的Pycharm已經擁有以下環境:

  (1)安裝了Oracle's Virtual Box

  (2)安裝了Vagrant

  (3)將一下這些可執行文件添加到環境變量中

    Vagrant安裝文件下的vagrant.bat文件,這部分工作應該由安裝程序自動完成

    Oracle's VirtualBox安裝文件下的VBoxManage.exe文件。

  確保Pycharm的Vagrant插件可用:單擊主工具欄中的設置按鈕,在設置對話框中打開 Plugins頁面,顯示插件默認可用:

  至此準備工作完成,正式開始。

  2、創建一個虛擬的virtual box

  在設置對話框中(單擊主工具欄的設置按鈕),單擊 Vagrant界面,然後輸入可執行文件路徑以及實例路徑。

  如果框架已經預先定義好,以上選項就會出現在一個下拉列表中,從中選擇一個即可:

  如果當前沒有合適的virtual box,則可通過單擊綠色的加號來添加一個,輸入框架名稱和下載地址:

  單擊OK,Pycharm開始自動下載VM模板:

  至此你已經新建了一個virtual box並已經將其添加到了當前環境中。

  注意Tool 菜單下的Vagrant 命令,這個命令與標準的Vagrant行爲相關聯。

  一旦創建了Vagrant box,就需要在工程存根下對其進行初始化。在主菜單上單擊Tools | Vagrant,選擇 Init in Project Root:

  選擇你準備初始化的Vagrant box:

  此時會創建對應的Vagrantfile文件,可以根據要求對其進行更改:

  初始化完成後,執行vagrant up命令(在Vagrant 菜單中選擇Up 命令):

  Pycharm會自動運行vagrant up 命令,並在控制檯界面顯示輸出結果:

  3、在虛擬機上配置遠程解釋器

  再次打開設置對話框(單擊主工具欄上的設置按鈕),選擇Project Interpreter頁面,在這裏你可以從下拉列表中選擇一個對應的解釋器,但是如果當前沒有可用的解釋器,我們就需要單擊Configure Interpreters來自定義一個:

  此時會打開Python Interpreters界面,單擊綠色的加號來選擇一個遠程的解釋器:

  在Configure Remote Python Interpreter 對話框中,需要進行服務器配置。這些設置可以手動設定,也可以從已經定義好的Vagrant配置文件中導入,在這裏我們選擇第二個方式。 單擊 Fill from Vagrant configuration按鈕,將會根據配置文件的內容自動填充相關設置屬性值:

  爲了確認是否配置成功,單擊Test connection... 按鈕:

  將其設置爲默認解釋器:

  從現在開始我們就可以在VM虛擬機上運行所有的腳本工程了:

  接下來我們通過SSH來登錄virtual box。

  4、鏈接SSH終端機

  爲什麼需要登錄呢?因爲Pycharm要求你這麼做。

  在主菜單中選擇Tools | Run SSH Terminal,如果你定義了不止一個主機(host),則選擇一個你想要建立鏈接的(我們這裏選擇遠程解釋器):


  觀察Run tool window窗口的控制檯運行信息:

  現在你已經能夠和virtual box進行直接交互了,首先我們先確認你的工程目錄是否進行了完整映射。只需觀察vagrant's默認的共享文件夾信息:

  接下來運行一個可用的腳本文件,例如Solver.py: