久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

Python開發環境的技巧有哪些

這篇文章主要介紹“Python開發環境的技巧有哪些”,在日常操作中,相信很多人在Python開發環境的技巧有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python開發環境的技巧有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創新互聯是一家專注于成都網站建設、成都做網站與策劃設計,和龍網站建設哪家好?創新互聯做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:和龍等地區。和龍做網站價格咨詢:18980820575

1. 解釋器

從使用Python時最重要的解釋器開始。你當然可以只下載最喜歡的Python版本,然后把所有內容放在里面。但如果你的程序需要不同版本的Python,或依賴于同一第三方模塊的不同版本,并需要在幾個程序之間無縫切換時該怎么辦?

Pyenv可以解決上述問題。

Pyenv共包含三個工具,筆者將介紹其中兩個:pyenv(用于安裝python)和pyenv-virtualenv(用于配置全局工具)。

通過下方網址安裝pyenv。

curl https://pyenv.run | bash

安裝后,向.bashrc(或.zshrc)文件中添加下方代碼,使得pyenv可用于設備。

exportPATH="~/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"

最后,重啟設備。現在可以使用pyenv安裝幾乎所有的python解釋器,包括pypy、anaconda。

需要注意的是,pyenv只在電腦上搭建本地python環境。搭建python環境需要多種函數庫。在Ubuntu系統的電腦上,必須安裝以下函數庫以防止運行出現問題。

sudo apt-get installbuild-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev zlib1g-dev libssl-dev openssllibgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-devlibffi-dev uuid-dev

現在,要安裝python解釋器只需要執行以下指令。

pyenv installVERSION_YOU_WOULD_LIKE_TO_INSTALL

可以通過pyenv列出所有可用版本。

pyenv install --list

為了使上述過程更加具體,在此安裝python3.7.5并且設置其為默認的全局解釋器。

pyenv install 3.7.5 pyenv global 3.7.5

輸入Python-version指令,屏幕將顯示Python3.7.5。

2. 依賴性關系管理(DependencyManagement)

Python中的依賴性管理是項繁重的工作。有許多工具可以幫助完成這項任務。

我最常使用的工具是Poetry。

Poetry可以幫助你簡單地完成如下工作。

  • 管理項目依賴關系

  • 通過虛擬環境將項目分開

  • 輕松構建應用程序與函數庫

筆者推薦通過以下方式安裝poetry:

curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python

另外一種依賴性管理的方式是使用pip和pyenv-virtualenv指令。讀者可能會問:為什么不只用pip?因為只用pip可能會在全局環境中安裝poetry及其依賴項,這可能是你不需要也不想要的。必要指令如下。

# Create a virtual environmentcalled tools that is based on 3.7.5 pyenv virtualenv 3.7.5 tools # Install poetry into the tools virtual env pyenv activate tools pip install poetry # Check installed poetry version poetry --version # Leave the virtual env pyenv deactivate # This does not work yet poetry --version # Add your tools virtual env to the globally available ones pyenv global 3.7.5 tools # Now this works and you can start using poetry poetry --version

在使用poetry創建第一個項目之前,建議先對其進行配置,這樣就可以在項目目錄中的.venv文件夾中創建虛擬環境。當你使用VsCode或Pycharm這類集成開發環境時就會變得非常方便,因為它們可以立即識別并選擇正確的解釋器。

poetry configsettings.virtualenvs.in-project true

注意,你只需設置一次配置,設置結果將在全局環境保留。

終于完成了使用poetry創建項目的所有準備工作,太棒了!我把這個項目命名為dsexample,我知道這個名字很蠢,但我不想浪費時間去想一個更好的。為了展示如何使用poetry,我添加了一個特定版本的pandas庫,以及所有額外需求的fastapi框架。

# Initialze a new project poetry new dsexample cd dsexample # Add modules and create virtual environment. poetry add pandas=0.25 fastapi --extras all # As an example of how you could add a git module poetry add tf2-utils --git git@github.com:Shawe82/tf2-utils.git

如果想要查看一個使用了文中推薦工具的實際項目,請前往我的Github倉庫。

3. 格式一致性與可讀性(Consistent Formatting and Readability)

現在,已經創建好了項目,即將開始添加代碼。理想情況下,代碼庫的格式應該一致,以確保可讀性和可理解性。這將是一個非常沉悶乏味的過程,尤其在還有其他人操作代碼庫時。

但用Black可以解決上述問題!

Black是一種讓程序員在編寫python代碼時能將精力集中于核心內容的工具。它自動為代碼添加格式,避免程序員手動添加格式。因為Black的效果非常好,我們把它添加到dsexample中,讓它為所有的文件添加格式。

# We add black as a developmentdependency with --dev as we don't # need it when it comes to production poetry add --dev black=19.3b0 # Assume we are inside the current toplevel dsexample folder poetry run black .

很好,現在所有的文件看起來非常整齊了。

4. 類型糾正(Type-Correctness)

自Python3.5開始(如果我記錯了請糾正),類型注釋開始成為標準庫的一部分通過類型注釋,代碼更好理解,更易維護,不易出錯。為什么會不易出錯呢?因為可以靜態地檢查變量和函數的類型是否符合預期。當然,必須是自動完成的。

下面介紹mypy。

Mypy是一種靜態python代碼檢查器,作用是在錯誤發生之前找到他們。使用poetry向項目中添加mypy并進行代碼檢查與添加black一樣簡單。

# We add mypy as a developmentdependency with --dev as we don't # need it when it comes to production poetry add --dev mypy # Assume we are inside the current toplevel dsexample folder poetry run mypy .

運行mypy也可能導致很多麻煩。當然,可以將其設置為只對你關心的錯誤發出警告。這可以通過在項目中添加mypy.ini文件實現。

5. 將自動化工具自動化(Automate the Automation)

使用black和mypy,我們不再需要手工為代碼添加格式,并且可以避免不必要的錯誤。但是我們仍需要手動使用這兩個工具,這兩個工具不是應該也自動化嗎?

是的!

Pre-commit可以完成一切。

Pre-commit工具是在代碼提交到倉庫前執行檢查(我默認讀者的代碼處在git的控制下)。無法通過檢查的代碼將被拒絕。這樣代碼倉庫就永遠不會出現格式不整齊或是未經類型檢查的代碼,以及任何其他你需要檢查錯誤的代碼。

現在來安裝pre-commit。

可以使用poetry將其直接安裝在項目里,也可以安裝在本地機器里。筆者傾向于后者,因為precommit只在本地使用,而不在CI/CD服務器上。相反,black和mypy在CI/CD服務器上運行,因此,將它們添加到項目的dev依賴項是有意義的。筆者建議使用下面方法通過現有的工具虛擬環境安裝它

# Install pre-commit into the tools virtual env pyenv activate tools pip install pre-commit # Leave the virtual env pyenv deactivate # As we have already added the tool venv, it will work directly pre-commit --version

要使用pre-commit,首先需要向頂級文件夾中添加一個名為.pre-commit-config.yarm的文件。在該文件里,你需要配置所有應該運行的鉤子。在mypy與Black的環境下,文件內容如下所示。

repos:-   repo: https://github.com/ambv/black    rev: 19.3b0    hooks:    - id: black      language_version: python3.7-   repo: https://github.com/pre-commit/mirrors-mypy    rev: v0.740    hooks:    - id: mypy

最后,你必須執行以下命令以設置鉤子。

# I assume your are in the toplevel folder pre-commit install

現在,鉤子函數(hook)將在每次提交時運行。Black工具的鉤子函數不僅會檢查格式,還會相應地為文件添加格式。每次添加新的鉤子函數時,建議一開始在所有文件中手動運行pre-commit,因為它只能作用于上次提交之后更改過的文件。

pre-commit run --all-files

就這樣,對自動化工具的自動化完成了。

到此,關于“Python開發環境的技巧有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!

文章標題:Python開發環境的技巧有哪些
網站地址:http://www.js-pz168.com/article46/gppoeg.html

成都網站建設公司_創新互聯,為您提供品牌網站制作ChatGPT網頁設計公司建站公司網站策劃網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
国产精品久久久久久一区二区三区| 免费观看日韩电影| 五月婷婷综合在线| 国产一区二区在线视频| 91在线免费看| 五月天亚洲综合小说网| 欧美精品电影在线播放| 日韩欧美99| 欧美浪妇xxxx高跟鞋交| 国产精品三级av在线播放| 日韩一区精品视频| 波多野结衣一区二区三区 | 欧美变态tickling挠脚心| 1区2区3区欧美| 麻豆免费精品视频| 成人片在线免费看| 91久久精品一区二区| 久久久高清一区二区三区| 天天做天天摸天天爽国产一区| 成人黄页在线观看| 日韩福利视频| 精品久久久久一区| 亚洲成在线观看| 成人高清伦理免费影院在线观看| 欧美一区二区三区在线播放| 欧美群妇大交群中文字幕| 国产精品国产三级国产| 激情综合色播激情啊| 精品国产一二| 91精品国产手机| 曰韩精品一区二区| 岛国精品在线播放| 亚洲激情图片| 久久精品夜夜夜夜久久| 蜜臂av日日欢夜夜爽一区| 国产亚洲精品久久飘花| 在线观看日韩国产| 亚洲国产精品黑人久久久| 国内欧美视频一区二区| 美日韩精品免费| 日韩美女主播在线视频一区二区三区| 亚洲国产精品久久人人爱蜜臀 | 欧美一区二区在线看| 亚洲一卡二卡三卡四卡 | 日韩一区二区视频在线观看| 一区二区三区成人在线视频| 波多野结衣的一区二区三区| 一本久道久久综合中文字幕| 国产精品麻豆99久久久久久| 国产一区视频在线看| 色一情一乱一伦一区二区三区| 精品久久久久香蕉网| 美腿丝袜亚洲三区| 麻豆蜜桃91| 久久精品亚洲精品国产欧美| 黄色成人免费在线| 天堂av一区二区| 国产精品日韩精品欧美在线| 国产精品18久久久| 色综合天天综合给合国产| 亚洲色图色小说| 99久久久久久| 欧美日韩亚洲综合| 亚洲大片免费看| 精品国产日本| 久久免费美女视频| 国产精品香蕉一区二区三区| 日韩免费中文专区| 18欧美亚洲精品| 91年精品国产| 欧美一区二区三区四区五区| 免费看欧美女人艹b| 日本一区网站| 国产精品久久久久久久久快鸭| 不卡av免费在线观看| 欧美日韩精品一二三区| 天天综合天天综合色| 鲁鲁狠狠狠7777一区二区| 国产日韩欧美高清在线| hitomi一区二区三区精品| 在线观看91精品国产麻豆| 奇米四色…亚洲| 相泽南亚洲一区二区在线播放| 日韩美女视频一区| 福利视频久久| 久久久久亚洲蜜桃| 成人精品免费看| 在线综合视频播放| 精品一区二区在线视频| 色婷婷久久一区二区三区麻豆| 亚洲成a人片综合在线| 欧美xxxx黑人又粗又长精品| 国产精品美女www爽爽爽| 91嫩草在线| 久久免费精品国产久精品久久久久| 国产成人啪午夜精品网站男同| 欧美日韩三级视频| 毛片一区二区三区| 在线亚洲人成电影网站色www| 婷婷开心激情综合| 一区二区三区在线视频111| 亚洲v中文字幕| 少妇特黄a一区二区三区| 一区二区三区精品| 欧美午夜欧美| 亚洲与欧洲av电影| 日本一区二区高清视频| 一区二区三区在线观看欧美| 欧美日韩在线观看一区| 亚洲免费观看高清完整版在线观看熊 | 日本婷婷久久久久久久久一区二区 | 国产日韩精品视频一区| 3d动漫精品啪啪一区二区三区免费| 2023国产精品| 91丨porny丨首页| 国产亚洲欧洲997久久综合| 97久久天天综合色天天综合色hd| 久久久亚洲精品一区二区三区 | 好看的日韩精品视频在线| 国产精品国产三级国产有无不卡| 国产午夜精品一区| 亚洲欧洲制服丝袜| 秋霞在线观看一区二区三区| 亚洲一区二区三区精品在线| 亚洲亚洲精品三区日韩精品在线视频 | www.亚洲免费av| 久久日韩粉嫩一区二区三区| 成人动漫视频在线观看完整版| 国产精品久线在线观看| 久久精品国产理论片免费| 亚洲欧美成人一区二区三区| 日本欧洲国产一区二区| 丝袜国产日韩另类美女| 欧美日韩一区久久| 国产成人精品亚洲777人妖| 精品日韩在线观看| 成人性色av| 一区二区三区在线视频播放| 一本一道久久a久久综合精品| 美国av一区二区| 欧美一区三区四区| 97se亚洲国产综合自在线不卡| 中日韩免费视频中文字幕| 欧美日韩在线精品一区二区三区| 午夜电影网亚洲视频| 欧美日韩精品一区二区天天拍小说 | 久久一二三国产| 精品国产二区在线| 亚洲一二三四在线| 欧美色综合网站| 波多野结衣在线一区| 亚洲欧洲av色图| 亚洲欧美日韩精品久久久| 精品写真视频在线观看| 精品国产三级a在线观看| 国产日韩一区二区| 亚洲成人动漫一区| 欧美巨大另类极品videosbest| www.亚洲国产| 亚洲色图清纯唯美| 在线亚洲欧美专区二区| 成人av在线播放网址| 最新日韩av在线| 一本一本大道香蕉久在线精品| 国产精品66部| 国产精品久久久久久久久动漫| 亚洲国产精品www| 国产精品一卡二卡在线观看| 国产欧美日韩精品一区| 神马影院午夜我不卡影院| 国产毛片精品一区| 国产精品欧美一级免费| 一区二区三区四区不卡| 国产91高潮流白浆在线麻豆| 欧美老人xxxx18| 91天堂素人约啪| 亚洲成人自拍一区| 日韩一区二区免费在线电影| 精品无人区一区二区三区 | 久久精品99国产精品日本| 久久综合资源网| 日本一区免费| 国产成人日日夜夜| 亚洲精品视频在线观看免费| 欧美日韩国产高清一区二区| 国产成人av一区二区三区| 日韩影院精彩在线| 26uuu亚洲婷婷狠狠天堂| 亚洲高清不卡一区| 不卡一二三区首页| 亚洲一区二区三区激情| 日韩免费成人网| 日韩欧美在线一区二区| 国产成人免费视频网站 | 日精品一区二区| 久久综合色一综合色88| 亚洲精品不卡| 93久久精品日日躁夜夜躁欧美| 香蕉乱码成人久久天堂爱免费| 精品日产卡一卡二卡麻豆|