Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
文節(jié)選自霍格沃茲測試學(xué)院內(nèi)部教材
測試平臺的數(shù)據(jù)展示與分析,我們主要使用開源工具ECharts來進(jìn)行數(shù)據(jù)的展示與分析。
ECharts是一款基于JavaScript的數(shù)據(jù)可視化圖表庫,提供直觀,生動,可交互,可個性化定制的數(shù)據(jù)可視化圖表,功能非常強(qiáng)大,目前ECharts已經(jīng)發(fā)布到ECharts 5版本。我們的項目也選擇Echarts來作為我們的數(shù)據(jù)展示與分析工具。
ECharts官網(wǎng):
https://echarts.apache.org/zh/index.html
npm install echarts --save
https://echarts.apache.org/zh/download.html
https://github.com/apache/echarts/releases
https://www.jsdelivr.com/package/npm/echarts
我們推薦使用npm方法直接在項目里安裝Echarts,方便直接使用。
Echarts安裝完成之后,我們將Echarts引入我們的項目中,注意,因為我們不是每個頁面都需要用到畫圖,都有圖表展示,所以我們沒有必要將Echarts封裝到main.js中,在需要展示圖表的頁面引入Echarts即可。
Echarts展示需要等待頁面dom元素加載完畢,并且需要有一個dom元素進(jìn)行圖表的展示,所以mounted階段是我們引入Echarts的最佳時間點。以測試平臺的報告為例,具體操作如下:
mounted() {
var echarts = require('echarts');
// 基于準(zhǔn)備好的dom,初始化echarts實例,如果main.js中已經(jīng)封裝了echarts,則不需要此步驟
var myChart = echarts.init(document.getElementById('main'));
// 繪制圖表
myChart.setOption({
title: {
text: 'ECharts 入門示例'
},
tooltip: {},
xAxis: {
data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']
},
yAxis: {},
series: [{
name: '銷量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
});
},
我們在script模塊的methods中繪制了圖表之后,還需要在頁面上進(jìn)行展示,因此,我們還需要在template中新建一個div用以展示我們的圖表,圖表的大小我們可以自行設(shè)置,代碼如下:
<template>
<div>
<template>
<v-tabs :value="3" background-color="primary">
<v-tab @click="$router.push({name:'Case'})">用例管理</v-tab>
<v-tab @click="$router.push({name:'Task'})">任務(wù)管理</v-tab>
<v-tab @click="$router.push({name:'Jenkins'})">Jenkins管理</v-tab>
<v-tab @click="$router.push({name:'Report'})">報告管理</v-tab>
</v-tabs>
</template>
<div id="main" style="width:500px;height:500px"></div>
// 新建div,用以展示圖表
</div>
</template>
通過以上步驟,圖表的繪制和展示就完成了,在終端輸入命令’npm run serve’,在瀏覽器中訪問’http://localhost:8080/#/report’,即可看到繪制的圖表展示在report頁面。
這只是一個簡單的示例,我們可以在Echarts中找到更多樣的表格示例,可以根據(jù)需要選擇適合的圖表示例。Echarts示例網(wǎng)址:Examples - Apache ECharts
當(dāng)我們想要修改Echarts圖表樣式時,在Echarts中找到適合的示例,將左側(cè)的示例編輯部分代碼復(fù)制粘貼到繪制圖表部分即可。
數(shù)據(jù)展示與分析就先說到這里啦,大家可以多多練習(xí)一下哦~
搜索微信公眾號:TestingStudio 霍格沃茲的干貨都很硬核
body分為塊級和行內(nèi)
<div>qwer<br/>zxcv</div>
<div style="background-color: green;">qwer</div>
span style="background-color: green;">zxcv</span>
<p>hahahahah</p>
<p>hahahahahaaa</p>
h1~h6y依次變小
<div>默認(rèn)文字字體</div>
<h1>再再再再再粗一點</h1>
<h2>再再再再粗一點</h2>
<h3>再再再粗一點</h3>
<h4>再再粗一點</h4>
<h5>再粗一點</h5>
<h6>粗一點</h6>
<a href="http://www.baidu.com" title="baidu">百度</a>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>野雞平臺</title>
</head>
<body>
<h1>章節(jié)</h1>
<a href="#i1" title="第一章">第一章 寂寞的春天</a>
<a href="#i2" title="第二章">第二章 寂寞的夏天</a>
<a href="#i3" title="第三章">第三章 寂寞的秋天</a>
<a href="#i4" title="第四章">第四章 寂寞的冬天</a>
<h1>內(nèi)容</h1>
<div style="height: 1000px;" id="i1">
<h3>第一章 寂寞的春天</h3>
<p>春暖花開,萬物復(fù)蘇,又到了交配的季節(jié)。</p>
</div>
<div style="height: 1000px;" id="i2">
<h3>第二章 寂寞的夏天</h3>
<p>夏天夏天悄悄過去留下小咪咪</p>
</div>
<div style="height: 1000px;" id="i3">
<h3>第三章 寂寞的秋天</h3>
<p>今年的秋天真是寂寞呀!!!</p>
</div>
<div style="height: 1000px;" id="i4">
<h3>第四章 寂寞的冬天</h3>
<p>下雪</p>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>野雞平臺</title>
</head>
<body>
<ul>
<li>周杰倫</li>
<li>林俊杰</li>
<li>王力宏</li>
</ul>
<ol>
<li>鐵錘</li>
<li>鋼彈</li>
<li>狗蛋</li>
</ol>
<dl>
<dt>河北省</dt>
<dd>邯鄲</dd>
<dd>石家莊</dd>
<dt>山西省</dt>
<dd>太原</dd>
<dd>平遙</dd>
</dl>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>6666</title>
</head>
<body>
<table border="3"> <!--border 選擇表格樣式-->>
<thead>
<tr>
<th>姓名</th>
<th>年齡</th>
<th>愛好</th>
</tr>
</thead>
<tbody>
<tr>
<td>xxxx</td>
<td>18</td>
<td>看書</td>
</tr>
<tr>
<td rowspan="3">aaaa</td> <!--rowspan 合并單元格-->>
<td>18</td>
<td>吃飯</td>
</tr>
<tr>
<td>33</td>>
<td>heiheihei</td>>
</tr>>
</tbody>
</table>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>6666</title>
</head>
<body>
<!--顯示本地圖片,找不到圖片則顯示alt中的文字-->
<img src="img/lover.png" alt="美女">
<!--顯示網(wǎng)絡(luò)圖片-->
<img src="https://images.cnblogs.com/cnblogs_com/wupeiqi/662608/t_212313579359018.png" alt="妹子">
</body>
</html>
type
<button type="button"> 按鈕 </button>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>666666</title>
</head>
<body>
<h3>文本框</h3>
<input type="text">
<h3>密碼框</h3>
<input type="password">
<h3>單選框</h3>
<input type="radio" name="gender">男
<input type="radio" name="gender">女
<h3>復(fù)選框</h3>
<input type="checkbox">籃球
<input type="checkbox">足球
<input type="checkbox">橄欖球
<h3>上傳文件</h3>
<input type="file">
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML學(xué)習(xí)</title>
</head>
<body>
<h3>單選</h3>
<select>
<option>上海</option>
<option>北京</option>
<option>深圳</option>
</select>
<h3>多選</h3>
<select multiple>
<option>上海</option>
<option>北京</option>
<option>深圳</option>
</select>
</body>
</html>
<!DOCTYPE html>
臥槽,無情呀
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>HTML學(xué)習(xí)</title>
</head>
<body>
<textarea>文本內(nèi)容寫在這里...</textarea>
</body>
</body>
</html>
用于提交數(shù)據(jù)到后臺
// 提交表單之后,實際上會將表單中的數(shù)據(jù)構(gòu)造成一種特殊的結(jié)構(gòu),發(fā)送給后臺,類似于:
{
user:用戶輸入的姓名,
pwd:用戶輸入的密碼,
...
}
源:機(jī)器之心
本文約7300字,建議閱讀8分鐘。
本文從 PyCharm 安裝到插件、外部工具、專業(yè)版功能等進(jìn)行了一一介紹,希望能夠幫助到大家。
PyCharm 是一種 Python IDE,可以幫助程序員節(jié)約時間,提高生產(chǎn)效率。那么具體如何使用呢?
小編之前也沒系統(tǒng)地介紹過 PyCharm,怎樣配置環(huán)境、怎樣 DeBug、怎樣同步 GitHub 等等可能都是通過經(jīng)驗或者摸索學(xué)會的。在本文中,我們并不會提供非常完善的指南,但是會介紹 PyCharm 最主要的一些能力,了解這些后,后面就需要我們在實踐中再具體學(xué)習(xí)了。
機(jī)器之心的讀者應(yīng)該非常了解 JetBrains 開發(fā)的 PyCharm 了,它差不多是 Python 最常用的 IDE。PyCharm 可以為我們節(jié)省大量時間,它能夠管理代碼,并完成大量其他任務(wù),如 debug 和可視化等。
本文將介紹:
本文假設(shè)讀者熟悉 Python 開發(fā),且計算機(jī)中已安裝某個版本的 Python。該教程將使用 Python 3.6 版本,屏幕截圖和 demo 均來自 macOS 系統(tǒng)。由于 PyCharm 可在所有主流平臺上運行,讀者在其他系統(tǒng)中會看到略微不同的 UI 元素,可能需要調(diào)整某些命令。
PyCharm 安裝
本文將使用 PyCharm Community Edition 2019.1 版本,該版本免費且可在所有主流平臺上使用。只有最后一部分PyCharm Professional 功能使用的是 PyCharm Professional Edition 2019.1 版本。
推薦使用 JetBrains Toolbox App 安裝 PyCharm。使用該 App,你可以安裝不同的 JetBrains 產(chǎn)品或者同一產(chǎn)品的不同版本,并在必要的情況下更新、回滾和輕松刪除任意工具。你還可以在恰當(dāng)?shù)?IDE 及版本中快速打開任意項目。
Toolbox App 安裝指南,參見:
JetBrains 官方文檔:https://www.jetbrains.com/help/pycharm/installation-guide.html#toolbox
該 App 會根據(jù)你的操作系統(tǒng)提供合適的安裝說明。如果它無法無法準(zhǔn)確識別系統(tǒng),你可以在右上角的下拉列表中找到合適的系統(tǒng)。
安裝成功后,啟動該 app 并接受用戶協(xié)議。在 Tools 選項下,你可以看到一個可用產(chǎn)品列表。從中找到 PyCharm Community,并點擊 Install。
好啦,現(xiàn)在你的機(jī)器上已經(jīng)安裝 PyCharm 了。如果不想使用 Toolbox app,你可以單獨安裝 PyCharm。
啟動 PyCharm,你將看到導(dǎo)入設(shè)置彈窗。PyCharm 會自動檢測出這是首次安裝,并為你選擇Do not import settings選項。點擊 OK,之后 PyCharm 會讓你選擇鍵盤映射(keymap scheme)。保留默認(rèn)設(shè)置,點擊右下角的Next: UI Themes:
PyCharm 將詢問選擇深色模式 Darcula 還是淺色模式。你可以選擇自己喜歡的模式,并點擊Next: Launcher Script:
本教程將使用深色模式 Darcula。
在下一個頁面上,直接保留默認(rèn)設(shè)置,并點擊Next: Featured plugins,這時 PyCharm 將展示可用插件列表。點擊Start using PyCharm,現(xiàn)在你可以寫代碼了!
在 PyCharm 中寫代碼
在 PyCharm 中,你可以在項目中執(zhí)行任意操作。因此,首先你需要創(chuàng)建一個項目。
安裝和打開 PyCharm 后,你會看到歡迎頁面。點擊Create New Project,出現(xiàn)New Project彈窗:
指定項目位置,打開 Project Interpreter 列表,選擇創(chuàng)建新的項目解釋器或者使用已有的解釋器。選擇New environment using,打開其右方的下拉列表,選擇 Virtualenv、Pipenv 或 Conda。這些工具可以為不同項目單獨創(chuàng)建 Python 環(huán)境,從而分別保存不同項目所需的依賴項。
你可以選擇其中任意一個,本教程使用的是 Virtualenv。選擇后,指定環(huán)境位置,從 Python 解釋器列表中選擇要安裝在系統(tǒng)中的 base interpreter。通常,保持默認(rèn)設(shè)置即可。下面有兩個可選框:在新環(huán)境中繼承全局包環(huán)境、令當(dāng)前環(huán)境可以用其它所有項目,兩個都不要選。
點擊右下角的Create,創(chuàng)建新項目:
屏幕上出現(xiàn)Tip of the Day彈窗,在每次啟動時 PyCharm 通過該彈窗提供 trick。關(guān)掉該彈窗。
現(xiàn)在我們可以開始新的 Python 程序了。如果你使用的是 Mac 系統(tǒng),使用 Cmd+N 鍵;如果你使用的是 Windows 或 Linux 系統(tǒng),使用 Alt+Ins 鍵。然后選擇 Python File。你也可以在菜單中選擇 File → New。將新文件命名為 guess_game.py 并點擊 OK。你將看到如下 PyCharm 窗口:
至于測試代碼,我們來快速寫一個簡單的猜謎游戲,即程序選擇一個數(shù)字讓用戶來猜,在每一次猜測時,程序?qū)⒏嬖V用戶他猜的數(shù)字比神秘數(shù)字大還是小,用戶猜中數(shù)字時游戲結(jié)束。以下是該游戲的代碼:
直接鍵入上述代碼,而不是復(fù)制粘貼。你會看到如下畫面:
如上圖所示,PyCharm 提供 Intelligent Coding Assistance 功能,可以執(zhí)行代碼補(bǔ)全、代碼檢查、錯誤高亮顯示和快速修復(fù)建議。比如鍵入 main 并點擊 tab 鍵,PyCharm 會自動補(bǔ)全整個 main 從句。
此外,如果你在條件句前忘記鍵入 if,在該句子最后增添.if 并點擊 Tab 鍵,PyCharm 將修復(fù)該 if 條件句。該用法同樣適用于 True.while。這即是 PyCharm 的 Postfix Completion 功能,它可以幫助用戶減少退格鍵使用次數(shù)。
在 PyCharm 中運行代碼
現(xiàn)在你已經(jīng)編碼完成該游戲,可以運行了。
該游戲程序有三種運行方式:
使用以上任一方式運行該程序,窗口底部會出現(xiàn)終端面板(Terminal pane),顯示你的代碼輸出結(jié)果:
你可以玩一下這個游戲,看看自己能否猜中數(shù)字。(專業(yè)建議:從 50 開始猜。)
在 PyCharm 中進(jìn)行代碼 debug
找到神秘數(shù)字了嗎?如果找到了,你可能會看到一些奇怪的東西:程序沒有打印出祝賀信息和顯示退出按鈕,而是重新開始了。這就是 bug 所在。要想發(fā)現(xiàn)程序重新開始的原因,你需要 debug。
首先,點擊第 8 行代碼左側(cè)的空白區(qū)域,設(shè)置斷點:
斷點即程序運行到這一行時會自動停止,你可以探索斷點處之后的代碼有什么錯誤。接下來,從以下三種方式中選擇一種開始 debug:
之后,你將看到底部出現(xiàn) Debug 窗口:
按照下列步驟執(zhí)行程序 debug:
恭喜你,bug 被修復(fù)了!
在 PyCharm 中進(jìn)行代碼測試
不經(jīng)單元測試的應(yīng)用都不可靠。PyCharm 可以幫助你快速舒適地寫單元測試并運行。默認(rèn)情況下,unittest 被用作測試運行器,而 PyCharm 還支持其他測試框架,如 pytest、nose、doctest、tox 和 trial。例如,你可以按照以下步驟為項目選擇 pytest 測試運行器:
本教程的示例將使用默認(rèn)測試運行器 unittest。
在同一個項目中,創(chuàng)建文件 calculator.py,并將以下 Calculator 類放入該文件:
PyCharm 使得為已有代碼創(chuàng)建測試變得輕而易舉。打開 calculator.py 文件,執(zhí)行以下步驟中的任意一個:
選擇Create New Test…,得到以下窗口:
Target directory、Test file name 和 Test class name 這三項均保留默認(rèn)設(shè)置。選中上圖中兩種需要測試的方法并點擊 OK。好了!PyCharm 自動創(chuàng)建文件 test_calculator.py,并在其中創(chuàng)建了以下 stub test:
使用以下方法中的任意一個運行測試:
你將看到底部出現(xiàn)測試窗口,所有測試均失敗:
注意,左側(cè)是測試結(jié)果的層次結(jié)構(gòu),右側(cè)是終端的輸出。現(xiàn)在,將代碼更改成以下代碼,實現(xiàn) test_add:
重新運行測試,你會看到一個測試通過了,另一個則失敗。按照如下操作探索不同選項,來展示已通過測試和被忽略測試,按照字母順序?qū)y試進(jìn)行排序,以及按照時長對測試進(jìn)行排序:
注意,上圖中的 sleep(0.1) 方法的作用是使其中一個測試變慢,以便按時長對測試進(jìn)行排序。
在 PyCharm 中編輯已有項目
單文件項目非常適合作為示例,但你通常需要處理較大的項目。這部分將介紹如何使用 PyCharm 處理較大項目。
為了探索 PyCharm 以項目為中心的特征,你將使用 Alcazar web 框架(該框架用于學(xué)習(xí)目的)。
在本地復(fù)制該 repo(地址:https://realpython.com/optins/view/alcazar-web-framework/)
當(dāng)你在本地已有項目時,使用以下方法中的任意一個在 PyCharm 中打開項目:
之后,在計算機(jī)中找到包含該項目的文件夾,并打開。
如果該項目包含虛擬環(huán)境,PyCharm 將自動使用該虛擬環(huán)境,并將它作為項目解釋器。
如果你需要配置不同的虛擬環(huán)境 virtualenv,在 Mac 上打開 Preferences,或在 Windows 或 Linux 系統(tǒng)中使用 Ctrl+Alt+S 打開 Settings,找到 Project: ProjectName。打開下拉列表,選擇 Project Interpreter:
從下拉列表中選擇 virtualenv。如果沒有要選擇的項,則點擊下拉列表右方的設(shè)置按鈕選擇 Add…。其余步驟和創(chuàng)建新項目的步驟相同。
在 PyCharm 中搜索和導(dǎo)航
在大項目中,我們很難記住每個事物的位置,因此快速導(dǎo)航和搜索非常重要。PyCharm 可以提供這些功能。接下來,我們使用上一節(jié)中打開的項目,實踐以下快捷鍵:
導(dǎo)航可使用以下快捷鍵:
更多細(xì)節(jié),參見官方文檔:
https://www.jetbrains.com/help/pycharm/tutorial-exploring-navigation-and-search.html
PyCharm 中的版本控制
版本控制系統(tǒng)(如 Git 和 Mercurial)是現(xiàn)代軟件開發(fā)世界中最重要的工具之一。因此,IDE 必須支持版本控制。PyCharm 在這方面做得很好,它集成了大量流行的版本控制系統(tǒng),如 Git(和 Github (https://github.com/))、Mercurial、Perforce 和 Subversion。
注:以下示例中使用的版本控制系統(tǒng)為 Git。
配置版本控制系統(tǒng)(VCS)
要想實現(xiàn) VCS 集成,你需要在頂部菜單點擊 VCS → VCS Operations Popup…,或者在 Mac 系統(tǒng)中使用 Ctrl+V 鍵,在 Windows 或 Linux 系統(tǒng)中使用 Alt+` 鍵。選擇 Enable Version Control Integration…,你將看到以下窗口:
從下拉列表中選擇 Git,點擊 OK,這樣你就為項目設(shè)置好了 VCS。(注意,如果你打開的已有項目已經(jīng)具備版本控制系統(tǒng),PyCharm 將會發(fā)現(xiàn)并自動使用該版本控制系統(tǒng)。)
這時如果你前往 VCS Operations Popup…,你會發(fā)現(xiàn)一個不同的彈窗,它具備選項 git add、git stash、git branch、git commit、git push 等等:
如果你找不到所需要的選項,你可以在頂部菜單中點擊 VCS,選擇 Git,在這里你可以創(chuàng)建和查看 pull request。
提交和沖突處理
這是 PyCharm 中 VCS 集成的兩大特征,我個人經(jīng)常使用并且非常喜歡。假如你完成了工作,打算提交,前往 VCS → VCS Operations Popup… → Commit…,或者在 Mac 系統(tǒng)中使用 Cmd+K 鍵,在 Windows 或 Linux 系統(tǒng)中使用 Ctrl+K 鍵。你將看到如下窗口:
在該窗口中,你可以:
是不是感覺很神奇很迅速?特別是如果你以前經(jīng)常通過命令行手動執(zhí)行這些任務(wù)時。
團(tuán)隊合作中會出現(xiàn)合并沖突(merge conflict)。當(dāng)一個人對你正在處理的文件提交更改時,你們二人更改了同一行導(dǎo)致更改重疊,這時 VCS 無法決定選擇你的更改還是隊友的更改。那么你可以使用以下箭頭和符號來解決這個問題:
看起來很奇怪,我們很難分辨應(yīng)該刪除哪些更改、保留哪些更改。不要怕,PyCharm 來了!它可以用更好、更簡潔的方法解決沖突。在頂部菜單中前往 VCS,選擇 Git,然后選擇 Resolve conflicts…。選擇存在沖突的文件,點擊 Merge,出現(xiàn)以下窗口:
在左側(cè)列中,你可以查看自己做的更改。在右側(cè)列中,可以查看隊友做的更改。而中間列則顯示結(jié)果。存在沖突的代碼行被高亮顯示,你可以在它們旁邊看到 X 和 >>/<<。點擊箭頭表示接受更改,點擊 X 則表示拒絕更改。解決所有沖突后,點擊 Apply 按鈕:
在上圖中,對于第一個沖突行,作者選擇拒絕自己的更改,接受隊友的更改。而在第二個沖突行中,作者接受了自己的更改,拒絕了隊友的更改。
使用 PyCharm 中的 VCS 集成還可以執(zhí)行很多操作。詳情參見
https://www.jetbrains.com/help/pycharm/version-control-integration.html
在 PyCharm 中使用插件和外部工具
在 PyCharm 中你可以找到開發(fā)所需的幾乎所有功能。如果沒找到,那么很可能存在一個插件,向 PyCharm 提供你需要的功能。例如,它們可以:
例如,IdeaVim 插件向 PyCharm 添加 Vim 模擬。如果你喜歡 Vim,這個插件可以實現(xiàn)不錯的結(jié)合。
Material Theme UI 插件可將 PyCharm 的外觀改變?yōu)?Material Design 的外觀:
Vue.js 插件使 PyCharm 支持 Vue.js 項目。Markdown 插件使得在 IDE 內(nèi)可以編輯 Markdown 文件,并實時預(yù)覽渲染后的 HTML。
在 Mac 系統(tǒng)上點擊 Preferences → Plugins,在 Windows 或 Linux 系統(tǒng)中點擊 Settings → Plugins,你可以在 Marketplace 標(biāo)簽下找到和安裝所有可用插件:
如果仍然沒找到所需插件,你甚至可以自己開發(fā)一個。
如果你找不到合適的插件,又不想自己開發(fā),因為 PyPI 上有可用的包,你可以將這個包作為外部工具添加到 PyCharm。以代碼分析器 Flake8 為例。
首先,在所選 Terminal app 中鍵入 pip install flake8,從而在虛擬環(huán)境中安裝 Flake8。或者也可以使用 PyCharm 集成的 Terminal:
在 Mac 系統(tǒng)上點擊 Preferences → Tools,在 Windows 或 Linux 系統(tǒng)中點擊 Settings → Tools,選擇 External Tools。然后點擊底部 (1) 處的 + 按鈕。在彈出的窗口中,輸入細(xì)節(jié)并在兩個窗口中點擊 OK,如下圖所示:
上圖中,Program (2) 指 Flake8,你可以在虛擬環(huán)境文件夾(bin)中找到它。Arguments (3) 表示你想用 Flake8 分析的文件。Working directory 表示項目目錄。
你可以把這里所有項的絕對路徑寫死,但這就意味著你無法在其他項目中使用該外部工具,只能在一個項目中針對一個文件使用該工具。
因此你需要使用 Macros。它是$name$格式的變量,根據(jù)語境而變化。例如,當(dāng)你編輯 first.py 時,$FileName$ 為 first.py,當(dāng)你編輯 second.py 時,$FileName$ 為 second.py。你可以查看它們的列表,點擊 Insert Macro… 按鈕將其中一個插入。此處你使用了 macros,它們的值會根據(jù)你目前處理的項目而改變,F(xiàn)lake8 將繼續(xù)準(zhǔn)確執(zhí)行其工作。
要想使用它,你需要創(chuàng)建文件 example.py,并在其中寫入以下代碼:
上述代碼故意破壞了 Flake8 的一些規(guī)則。右鍵單擊文件背景,選擇 External Tools → Flake8。Flake8 分析結(jié)果將出現(xiàn)在窗口底部:
為了使效果更好,你可以為其添加快捷鍵。在 Mac 系統(tǒng)中選擇 Preferences,在 Windows 或 Linux 系統(tǒng)中選擇 Settings。然后,點擊 Keymap → External Tools → External Tools。雙擊 Flake8,選擇 Add Keyboard Shortcut,出現(xiàn)以下窗口:
上圖中,快捷鍵是 Ctrl+Alt+A(本教程使用該快捷鍵)。你可以在文本框中添加喜歡的快捷鍵,然后在兩個窗口中點擊 OK。然后,你就可以用該快捷鍵,在 Flake8 的幫助下分析目前在處理的文件了。
PyCharm Professional 功能
PyCharm Professional 是 PyCharm 的付費版本,具備更多開箱即用的功能和集成。這部分將概覽其主要功能,以及官方文檔鏈接(其中詳細(xì)介紹了每一項功能)。記住,以下功能在 PyCharm Community 版本中均不可用。
Django 支持
Django 是最流行和最受喜愛的 Python web 框架,PyCharm 對 Django 提供廣泛的支持。要確保對 Django 的支持,需要執(zhí)行以下步驟:
現(xiàn)在確保了對 Django 的支持,你在 PyCharm 中的 Django 開發(fā)之旅將輕松很多。具體而言在創(chuàng)建項目時,你會得到一個專用的 Django 項目類型。這表示,當(dāng)你選擇該類型時,你將擁有所有必要文件和設(shè)置。這等同于使用 django-admin startproject mysite。
你也可以在 PyCharm 內(nèi)直接運行 manage.py 命令。目前支持的 Django 模板,包括以下一些:
除此之外,我們還可以在其他 Django 部分(如視圖、URL 和模型)中執(zhí)行代碼補(bǔ)全、對 Django ORM 提供代碼追蹤支持(code insight support)、對 Django 模型提供模型依賴項關(guān)系圖。
更多細(xì)節(jié),參見官方文檔:
https://www.jetbrains.com/help/pycharm/django-support7.html
數(shù)據(jù)庫支持
現(xiàn)代數(shù)據(jù)庫開發(fā)是一個復(fù)雜的任務(wù),需要多個支持系統(tǒng)和工作流。這也是 JetBrains 開發(fā)獨立 IDE DataGrip 的原因。DataGrip 是獨立于 PyCharm 的產(chǎn)品,二者的應(yīng)用場景和授權(quán)都不相同。
但幸運的是,通過 Database tools and SQL 插件(該插件默認(rèn)開啟),PyCharm 可以支持 DataGrip 中的所有特性。在該插件的幫助下,你可以查詢、創(chuàng)建和管理數(shù)據(jù)庫,不管數(shù)據(jù)庫在本地、服務(wù)器,還是在云端。該插件支持 MySQL、PostgreSQL、Microsoft SQL Server、SQLite、MariaDB、Oracle、Apache Cassandra 等。
關(guān)于該插件的更多用途,請查看文檔:
https://www.jetbrains.com/help/pycharm/relational-databases.html
線程并發(fā)可視化(Thread Concurrency Visualization)
Django Channels、asyncio 和近期框架(如 Starlette (https://www.starlette.io/))表明異步 Python 編程正逐漸成為趨勢。異步編程具備很多好處,但很難寫,也很難 debug。在此類案例中,Thread Concurrency Visualization 就是醫(yī)生,幫助你全面管理多線程應(yīng)用并進(jìn)行優(yōu)化。
更多細(xì)節(jié),參見文檔:
https://www.jetbrains.com/help/pycharm/thread-concurrency-visualization.html
Profiler
說到優(yōu)化,profiling 是另一種代碼優(yōu)化方法。profiling 可以幫助你查看代碼的哪一部分占用了最多的執(zhí)行時間。profiler 運行的優(yōu)先級如下:
1. vmprof
2. yappi
3. cProfile
如果你沒有安裝 vmprof 或 yappi,則運行標(biāo)準(zhǔn) cProfile。更多細(xì)節(jié),參見:
https://www.jetbrains.com/help/pycharm/profiler.html
科學(xué)模式
Python 不僅是通用和 web 編程語言,由于 NumPy、SciPy、scikit-learn、Matplotlib、Jupyter 等庫和工具的加持,Python 成為數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域的最優(yōu)工具。有了這些強(qiáng)大工具,你還需要一個強(qiáng)大的 IDE 來支持這些庫所具備的繪圖、分析等所有功能。
關(guān)于科學(xué)模式的更多詳情,參見
https://www.jetbrains.com/help/pycharm/matplotlib-support.html
遠(yuǎn)程開發(fā)
很多應(yīng)用出現(xiàn) bug 的一個常見原因是,開發(fā)環(huán)境和生產(chǎn)環(huán)境不同。盡管在大多數(shù)情況下,開發(fā)時完美復(fù)制生產(chǎn)環(huán)境并不現(xiàn)實,但力求實現(xiàn)完美復(fù)刻是值得追尋的目標(biāo)。
在 PyCharm 的幫助下,你可以使用另一臺計算機(jī)(如 Linux VM)上的解釋器對應(yīng)用進(jìn)行 debug。這樣,你就可以擁有與生產(chǎn)環(huán)境一樣的解釋器了,從而避免很多因開發(fā)環(huán)境和生產(chǎn)環(huán)境差異導(dǎo)致的 bug。
詳情參見:
https://www.jetbrains.com/help/pycharm/remote-debugging-with-product.html
結(jié)論
PyCharm 是最好的 Python 開發(fā) IDE 之一。它提供大量優(yōu)勢,幫助執(zhí)行例行任務(wù),從而節(jié)約大量時間。學(xué)完本教程,現(xiàn)在你知道如何利用 PyCharm 提高生產(chǎn)效率了嗎?
原文地址:https://realpython.com/pycharm-guide/
編輯:王菁
校對:林亦霖
— 完 —
關(guān)注清華-青島數(shù)據(jù)科學(xué)研究院官方微信公眾平臺“THU數(shù)據(jù)派”及姊妹號“數(shù)據(jù)派THU”獲取更多講座福利及優(yōu)質(zhì)內(nèi)容。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。