# PyCharm 的初始設置(知道)
## 目標
* 恢復 PyCharm 的初始設置
* 第一次啟動 PyCharm
* 新建一個 Python 項目
* 設置 PyCharm 的字體顯示
* PyCharm 的升級以及其他
PyCharm 的官方網站地址是:https://www.jetbrains.com/pycharm/
## 01. 恢復 PyCharm 的初始設置
`PyCharm` 的 **配置信息** 是保存在 **用戶家目錄下** 的 `.PyCharmxxxx.x` 目錄下的,`xxxx.x` 表示當前使用的 `PyCharm` 的版本號
如果要恢復 `PyCharm` 的初始設置,可以按照以下步驟進行:
* 1. 關閉正在運行的 `PyCharm`
* 2. 在終端中執行以下終端命令,刪除 `PyCharm` 的配置信息目錄:
```bash
$ rm -r ~/.PyCharm2016.3
```
* 3. 重新啟動 `PyCharm`
## 02. 第一次啟動 PyCharm
1. 導入配置信息
2. 選擇許可協議
3. 配置初始界面
### 2.1 導入配置信息
* 在第一次啟動 `PyCharm` 時,會首先提示用戶是否導入 **之前的配置信息**
* 如果是第一次使用,直接點擊 **OK** 按鈕

### 2.2 選擇許可協議
* PyCharm 是一個付費軟件,購買費用為 **199$ / 年** 或者 **19.90$ / 月**
* 不過 PyCharm 提供了對 **學生和教師免費使用的版本**
* 下載地址是:https://www.jetbrains.com/pycharm-edu/download/#section=linux
* 商業版本會提示輸入注冊信息,或者選擇免費評估

### 2.3 PyCharm 的配置初始界面
* 在初始配置界面,可以通過 `Editor colors and fonts` 選擇 **編輯器的配色方案**

### 2.4 歡迎界面
* 所有基礎配置工作結束之后,就可以看到 `PyCharm` 的 **歡迎界面**了,通過 **歡迎界面** 就可以開始開發 Python 項目了

## 03. 新建/打開一個 Python 項目
### 3.1 項目簡介
* 開發 **項目** 就是開發一個 **專門解決一個復雜業務功能的軟件**
* 通常每 **一個項目** 就具有一個 **獨立專屬的目錄**,用于保存 **所有和項目相關的文件**
* 一個項目通常會包含 **很多源文件**
### 3.2 打開 Python 項目
* 直接點擊 **Open** 按鈕,然后瀏覽到之前保存 **Python 文件的目錄**,既可以打開項目
* 打開之后,會在目錄下新建一個 `.idea` 的目錄,用于保存 **項目相關的信息**,例如:**解釋器版本**、**項目包含的文件**等等
* 第一次打開項目,需要耐心等待 `PyCharm` 對項目**進行初始設置**

#### 設置項目使用的解釋器版本
* 打開的目錄如果不是由 `PyCharm` 建立的項目目錄,**有的時候** 使用的解釋器版本是 `Python 2.x` 的,需要**單獨設置解釋器的版本**
* 通過 **File** / **Settings...** 可以打開設置窗口,如下圖所示:

### 3.3 新建項目
#### 1) 命名規則
* 以后 **項目名** 前面都以 **數字編號**,**隨著知識點遞增,編號遞增**
* 例如:**01_Python 基礎**、**02_分支**、**03_循環**...
* 每個項目下的 **文件名** 都以 `hm_xx_知識點` 方式來命名
* 其中 **xx** 是演練文件的序號
* 注意
* 1. 命名文件名時建議只使用 **小寫字母**、**數字** 和 **下劃線**
* 2. **文件名不能以數字開始**
* 通過 **歡迎界面** 或者菜單 **File** / **New Project** 可以新建項目
#### 2) 演練步驟
* 新建 `01_Python基礎` 項目,使用 **Python 3.x 解釋器**
* 在項目下新建 `hm_01_hello.py` Python 文件
* 編寫 `print("Hello Python")` 代碼
## 04. 設置 PyCharm 的字體顯示


## 05. PyCharm 的升級以及其他
> PyCharm 提供了對 **學生和教師免費使用的版本**
* 教育版下載地址:https://www.jetbrains.com/pycharm-edu/download/#section=linux
* 專業版下載地址:https://www.jetbrains.com/pycharm/download/#section=linux
### 5.1 安裝和啟動步驟
* 1. 執行以下終端命令,解壓縮下載后的安裝包
```bash
$ tar -zxvf pycharm-professional-2017.1.3.tar.gz
```
* 2. 將解壓縮后的目錄移動到 `/opt` 目錄下,可以方便其他用戶使用
> `/opt` 目錄用戶存放給主機額外安裝的軟件
```bash
$ sudo mv pycharm-2017.1.3/ /opt/
```
* 3. 切換工作目錄
```bash
$ cd /opt/pycharm-2017.1.3/bin
```
* 4. 啟動 `PyCharm`
```bash
$ ./pycharm.sh
```
### 5.2 設置專業版啟動圖標
* 在**專業版**中,選擇菜單 **Tools** / **Create Desktop Entry...** 可以設置任務欄啟動圖標
* 注意:設置圖標時,需要勾選 `Create the entry for all users`

### 5.3 卸載之前版本的 PyCharm
#### 1) 程序安裝
* 1. **程序文件目錄**
* 將安裝包解壓縮,并且移動到 `/opt` 目錄下
* **所有的相關文件都保存在解壓縮的目錄中**
* 2. **配置文件目錄**
* 啟動 `PyCharm` 后,會在用戶家目錄下建立一個 `.PyCharmxxx` 的隱藏目錄
* **保存 `PyCharm` 相關的配置信息**
* 3. **快捷方式文件**
* `/usr/share/applications/jetbrains-pycharm.desktop`
> 在 `ubuntu` 中,應用程序啟動的快捷方式通常都保存在 `/usr/share/applications` 目錄下
#### 2) 程序卸載
* 要卸載 `PyCharm` 只需要做以下兩步工作:
* 1. 刪除解壓縮目錄
```bash
$ sudo rm -r /opt/pycharm-2016.3.1/
```
* 2. 刪除家目錄下用于保存配置信息的隱藏目錄
```bash
$ rm -r ~/.PyCharm2016.3/
```
> 如果不再使用 PyCharm 還需要將 `/usr/share/applications/` 下的 `jetbrains-pycharm.desktop` 刪掉
### 5.4 教育版安裝演練
```bash
# 1. 解壓縮下載后的安裝包
$ tar -zxvf pycharm-edu-3.5.1.tar.gz
# 2. 將解壓縮后的目錄移動到 `/opt` 目錄下,可以方便其他用戶使用
$ sudo mv pycharm-edu-3.5.1/ /opt/
# 3. 啟動 `PyCharm`
/opt/pycharm-edu-3.5.1/bin/pycharm.sh
```
> 后續課程**都使用專業版本演練**
#### 設置啟動圖標
* 1. 編輯快捷方式文件
```bash
$ sudo gedit /usr/share/applications/jetbrains-pycharm.desktop
```
* 3. 按照以下內容修改文件內容,需要注意**指定正確的 `pycharm` 目錄**
```
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm
Icon=/opt/pycharm-edu-3.5.1/bin/pycharm.png
Exec="/opt/pycharm-edu-3.5.1/bin/pycharm.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm
```
- linux基礎
- 01_Python基礎課程安排
- 02_操作系統(科普章節)
- 03_操作系統的發展史(科普章節)
- 04_文件和目錄(理解)
- 05_Ubuntu圖形界面入門
- 06_常用Linux命令的基本使用
- 07_Linux終端命令格式
- 08_文件和目錄常用命令
- 09_遠程管理常用命令
- 10_用戶權限相關命令
- 11_系統信息相關命令
- 12_其他命令
- python基礎
- 01_認識 Python
- 02_第一個Python 程序
- 03_PyCharm的初始設置(知道)
- 04_多文件項目的演練
- 05_注釋
- 06_算數運算符
- 07_程序執行原理(科普)
- 08_變量的基本使用
- 09_變量的命名
- 10_判斷(if)語句
- 11_運算符
- 12_循環
- 13_函數基礎
- 14_高級變量類型
- 15_綜合應用——名片管理系統
- 16_變量進階(理解)
- 17_函數進階.md
- 面向對象
- 01_面向對象(OOP)基本概念
- 02_類和對象
- 03_面向對象基礎語法
- 04_面向對象封裝案例
- 05_面向對象封裝案例 II