概述
Python是一門計(jì)算機(jī)程序設(shè)計(jì)的語言,語法優(yōu)雅,是目前很火熱的一門編程語言,其優(yōu)點(diǎn)有:
語法簡單,容易上手
軟件生態(tài)豐富,方方面面都有相應(yīng)的框架
其缺點(diǎn)也是有的,就是運(yùn)行效率,python的底層是C語言寫的,所以運(yùn)行的效率相對(duì)于C或者C++,Java這樣的編程語言來講,運(yùn)行效率會(huì)低一些,一樣的算法時(shí)間復(fù)雜度,python運(yùn)行要多幾毫秒。
安裝
python2 將在不久的未來停止維護(hù),因此,一般來說我們都是選擇python作為我們的學(xué)習(xí)語言。windows安裝python環(huán)境特別簡單,分為以下步驟:
上官網(wǎng)下載exe文件
雙擊安裝
需要注意安裝的過程中,選擇安裝的目錄和設(shè)置環(huán)境變量
設(shè)置源
python的官方源地址在國外,我們可以將地址設(shè)置為taobao源來加快我們下載第三方依賴包的速度。
在 `C:\Users\<your-name>\pip` 新建pip.ini
內(nèi)容:
[global]
trusted-host =? mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple
設(shè)置虛擬開發(fā)環(huán)境
一般我們寫代碼的時(shí)候,是不在全局的環(huán)境中安裝相關(guān)的依賴的,為什么這么做呢? 比如,我們有一個(gè)舊項(xiàng)目,用到的依賴為 xxxx-2.0 版本,但是我們新的項(xiàng)目需要使用到新的 3.0 版本,這樣我們電腦上就需要同時(shí)存在兩個(gè)第三方依賴。 所以,我們寫代碼時(shí),一般會(huì)為這個(gè)項(xiàng)目設(shè)置虛擬環(huán)境。
venv
優(yōu)點(diǎn):
較為簡單
缺點(diǎn):
分不清哪些是項(xiàng)目工具依賴,哪些是項(xiàng)目工程依賴。
```
cd <your-project-name>
python -m venv venv
# 進(jìn)入項(xiàng)目虛擬環(huán)境
.\venv\Script\activate
# 退出項(xiàng)目虛擬環(huán)境
deactivate
```
### pipenv
pipenv是最近出來不久的一個(gè)項(xiàng)目管理工具,其優(yōu)點(diǎn):
可以區(qū)分管理項(xiàng)目工具依賴和項(xiàng)目工程依賴
自動(dòng)化創(chuàng)建虛擬環(huán)境
```
操作:
# 全局安裝pipenv
pip install pipenv
# 初始化項(xiàng)目
mkdir <your-project-name>
cd <your-project-name>
# 創(chuàng)建pipfile 和pipfile.lock, 如果已經(jīng)存在的話,會(huì)安裝項(xiàng)目工程依賴,不安裝工具依賴
pipenv install
# 安裝項(xiàng)目工程依賴
pipenv install requests
# 安裝項(xiàng)目工具依賴
pipenv install pytest --dev
# 導(dǎo)出為requirements.txt. 只到處項(xiàng)目工程依賴
pipenv lock -r
# 項(xiàng)目工具依賴導(dǎo)出
pipenv lock -r -d
# 進(jìn)入虛擬環(huán)境
pipenv shell
# 退出
exit
# 在初始化的時(shí)候可以指定python版本,會(huì)自動(dòng)尋找系統(tǒng)安裝的python版本
pipenv --python 3.6
pipenv --python 2.7.14
# 為每個(gè)項(xiàng)目設(shè)置源
[[source]]
name = "pypi"
url = "http://mirrors.aliyun.com/pypi/simple" # 設(shè)置為阿里云
verify_ssl = true
[dev-packages]
pytest = "*"
[packages]
requests = "*"
[requires]
python_version = "3.6"
其他需要了解的點(diǎn)
# 項(xiàng)目虛擬環(huán)境位置
C:\project\simpleDestops>pipenv --venv
C:\Users\xxx\.virtualenvs\simpleDestops-YxQtYgkl
```