---
tags: Python
---
# Python 學習筆記
side: https://hackmd.io/@SquirrelPanda/H1lS1DdEw
> Email account : s9926004@gmail.com
> [name=Nick Xiao] [time=NOV, 2020] [color=#907bf7]
{%hackmd ryr9Ug6sd %}
---
## 環境架設
### 下載及安裝 - Windows
- 可以直接到[官網](https://www.python.org/downloads/)下載最新版, 此篇開發時使用的是 Python 3.8.5 的版本

- 安裝步驟中其實並沒有特別設定, 預設即可, 補充說明選項 "Add Python3.x to PATH" 指的是在安裝過程會直接加進 windows 環境變數, 也可以之後手動加入
- 假如安裝成功, 就可以在開始選單中找到 Python, 至於確認環境變數是否有效, 可以開啟命令字元並輸入 "python --version" 結果如下:

### 透過 pip 安裝相關套件
pip 是 python 用來管理龐大套件的工具之一, 詳細內容可以參考[官網](https://pip.pypa.io/en/stable/)的文件
以下是針對我的專案中會使用到的套件:
- 安裝 pip 及更新最新套件清單
```shell
python -m pip install --upgrade pip
```
- Python. NET, 主要會使用到 Common Language Runtime (CLR)
```shell
pip install pythonnet
```
- 開啟 Excel 會用到的套件
```shell
pip install openpyxl
```
- 開啟 Excel (?
```shell
pip install xlrd==1.2.0
```
:::info
xlrd更新到了2.0.1版本,只支持.xls文件,不支持.xlsx。
:::
- 提供許多數據繪圖功能, 可參考[網頁說明](http://www.pyqtgraph.org/)
```shell
pip install pyqtgraph
```
- Windows 上將 Python 打包程執行檔(.exe) 的方法
```shell
pip install pyinstaller
```
- 用於大數據的資料儲存
```shell
pip install anaconda h5py
```
- 用於矩陣運算等資料分析相關
```shell
pip install NumPy
```
- RSA 加密的方法
```shell
pip install rsa
```
- 編寫HTTP客戶端庫
```
pip install requests
```
- Pytorch 深度學習
```shell
pip install torch==1.7.0+cpu torchvision==0.8.1+cpu torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
```
- 有關這項請到[官網](https://pytorch.org/get-started/locally/)設定成以下:

- 最後確認安裝了哪一些套件及其版本可以下 "pip list"

- 參考資料
[【Python教學】pip install 指令大全](https://www.maxlist.xyz/2019/07/13/pip-install-python/)
[【Python】使用 PyInstaller 將 Python打包成 exe 檔](https://medium.com/pyladies-taiwan/python-%E5%B0%87python%E6%89%93%E5%8C%85%E6%88%90exe%E6%AA%94-32a4bacbe351)
### 透過 VS Code 開發 Python
https://ithelp.ithome.com.tw/articles/10212365
### 有關打包後檔案過大的問題
https://zhuanlan.zhihu.com/p/76974787
### Design Patterns in Python
https://refactoring.guru/design-patterns/python
## Python 語法相關
### Style Guide for Python Code
https://www.python.org/dev/peps/pep-0008/
## Python 開發介面
PySide
https://medium.com/bucketing/weekday-1-%E7%95%B6qt-%E5%AD%B8%E6%9C%83py-9472af78ccce
:::warning
使用現成開發套件最重要的是商業授權, 以下連結說明 PyQt 與 PySide 的差異
https://progressbar.tw/posts/97
:::