一文掌握在PyCharm中正確設(shè)置Python項(xiàng)目
簡介
在Mac和Linux都支持Python,但許多開發(fā)者發(fā)現(xiàn)正確設(shè)置Python項(xiàng)目很困難。本文匯總了多平臺(tái)中運(yùn)行Python的方法,提高編程的效率,如下所示:
- 使用命令行運(yùn)行Python。
- 在PyCharm(免費(fèi)社區(qū)版)中運(yùn)行Python。
- 添加和刪除軟件包。
- 使用虛擬環(huán)境,隔離Python代碼。
目錄結(jié)構(gòu)
使用如下圖所示的目錄結(jié)構(gòu)(文末下載源碼)。
圖片
安裝并啟動(dòng)PyCharm
安裝了社區(qū)版PyCharm,安裝完成后啟動(dòng)PyCharm。
【PyCharm社區(qū)版】:https://www.jetbrains.com/zh-cn/pycharm/
在PyCharm中查看文件夾內(nèi)容
點(diǎn)擊打開->選擇文件夾my_python_project。
PyCharm視圖
scripts
此文件夾包含bash腳本。對(duì)于每個(gè)"main" Python文件,必須有一個(gè)對(duì)應(yīng)的"main" bash腳本。
scripts/application.sh
為什么在Python項(xiàng)目中需要"main" bash腳本?
這些腳本是作為終端或其他程序(例如Ansible,Jenkins)的入口。它們還能確保Python應(yīng)用程序在固定的虛擬環(huán)境中運(yùn)行。
也可以使用不調(diào)用python程序的其他腳本。
scripts/genssl.sh — generates self signed certificates
src
main files
將包含主要入口的文件直接放在src文件夾下。
application.py
from my_package import names
if __name__ == "__main__":
sys.path.append('.')
names.echo_name("John")
packages
在src文件夾下創(chuàng)建Python包。為了將目錄標(biāo)識(shí)為Python包,Python要求添加一個(gè)空的__init.py__文件。
現(xiàn)在,可以將一個(gè)包中的Python類和函數(shù)導(dǎo)入到另一個(gè)Python文件中。
為了使導(dǎo)入正確,添加sys.path.append('.')很重要。
setupvenv.sh
這個(gè)bash腳本將在存儲(chǔ)庫之外的文件夾中設(shè)置Python虛擬環(huán)境。它還會(huì)根據(jù)requirements.txt安裝庫。
requirements.txt
該文件包含了Python標(biāo)準(zhǔn)庫之外的大多數(shù)常用庫。
requests庫用于進(jìn)行g(shù)et/post請(qǐng)求,flask庫用于接收get/post請(qǐng)求。
運(yùn)行應(yīng)用程序
終端
打開命令行應(yīng)用程序(在MacOS/Linux中為Terminal,在Windows中為CMD)
- cd to <your project folder>/scripts
- ./application.sh
這將安裝虛擬環(huán)境,安裝pip軟件包,并執(zhí)行Python應(yīng)用程序!
第一次運(yùn)行時(shí),它將設(shè)置虛擬環(huán)境和依賴項(xiàng)。如果重新運(yùn)行,將會(huì)看到一個(gè)較小的輸出,因?yàn)樗皇歉铝艘蕾図?xiàng)。
首次從終端運(yùn)行application.sh。注意:虛擬環(huán)境已創(chuàng)建,程序庫已安裝。
從終端重新運(yùn)行application.sh的第一次運(yùn)行。注意,虛擬環(huán)境已創(chuàng)建并安裝了庫。
從終端重新運(yùn)行application.sh
PyCharm
現(xiàn)有解釋器
在使用PyCharm運(yùn)行任何程序之前,需要做的第一件事是為項(xiàng)目設(shè)置解釋器。PyCharm可以添加一個(gè)新解釋器,但在這里,當(dāng)運(yùn)行./application.sh時(shí),本文已經(jīng)創(chuàng)建了一個(gè)解釋器。因此,請(qǐng)選擇 “add existing interpreter(添加現(xiàn)有解釋器)”。
如果查看終端輸出,你會(huì)找到現(xiàn)有解釋器的位置:
Path> /Users/ms/narambunet/wdir/bin/python
等待PyCharm索引文件。完成后,就可以通過PyCharm運(yùn)行Python應(yīng)用程序了。
圖片
選擇現(xiàn)有解釋器。你可以通過點(diǎn)擊編輯器最右下角找到此對(duì)話框。
圖片
一旦選擇了解釋器,將會(huì)顯示在requirements.txt中定義的庫。
將"src"目錄標(biāo)記為"Sources Root"
在通過IDE(集成開發(fā)環(huán)境)運(yùn)行應(yīng)用程序之前,還有一個(gè)步驟。將src文件夾標(biāo)記為Sources Root。當(dāng)從終端運(yùn)行application.sh時(shí),這不是必需的,但是當(dāng)你想直接從PyCharm執(zhí)行application.py時(shí),這是必需的。
圖片
將src目錄標(biāo)記為"sources root",這樣就可以直接從PyCharm編輯器運(yùn)行application.py。
從PyCharm運(yùn)行application.py
圖片
PyCharm成功運(yùn)行
源代碼
可以從GitHub下載本文的Python項(xiàng)目相關(guān)文件。
【Python項(xiàng)目】:https://github.com/naraone/my_python_project