国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在 Visual Studio Code 中配置 Python Flask 環(huán)境

gself / 1160人閱讀

摘要:更改執(zhí)行策略可能會產(chǎn)生安全風險,如中的幫助主題所述。如果出現(xiàn)選擇環(huán)境,我們選擇。在中,我們僅保留這一段。在中,我們新建一個文件,名為。到此,我們的環(huán)境配置就完成了。

在 Visual Studio Code 中配置 Python Flask 環(huán)境

本文由 赤石俊哉 原創(chuàng)編寫,您可以在學習交流用途以內(nèi)自由使用文章。
但是禁止抄襲文章,轉(zhuǎn)載時,請注明來源地址,謝謝。
最后更新時間: 2017年11月24日 17:53:15

更多文章可以參見 小赤石的Code Space

0. 準備階段

1. 在 vscode 中安裝 python 語言支持

2. 使用 pip 安裝 virtualenv、pylint、yapf

virtualenv

pylint

yapf

安裝過程

安裝中可能出現(xiàn)的問題

UnicodeEncodeError "utf-8" codec can"t encode character...

3. 修改 vscode 中的設置

4. 使用 virtualenv 創(chuàng)建工程目錄

創(chuàng)建文件夾并配置虛擬環(huán)境

往虛擬環(huán)境中安裝包

5. 修改 launch.json

6. 創(chuàng)建測試代碼并運行測試

0. 準備階段

本文默認您已經(jīng)完成了以下工作的情況:

1. 安裝完成了 Visual Studio Code。
2. 安裝完成了 Python 3.6.3 并且將 Python 添加到系統(tǒng)變量 PATH 中。
1. 在 vscode 中安裝 python 語言支持

運行 vscode,按下 Ctrl + P,會打開一個輸入框,輸入 ext install python,就會進入擴展商店,搜索 python
我們需要的是發(fā)行者為 Microsoft 的那一個名為 Python 的擴展。點擊 安裝 按鈕,安裝完成之后,點擊 重新加載

2. 使用 pip 安裝 virtualenv、pylint、yapf

下面是各個包的簡單說明,如果您足夠了解的話,可以直接跳轉(zhuǎn)到 安裝過程 小節(jié)。

virtualenv

摘自:廖雪峰的官方網(wǎng)站 - virtualenv

在開發(fā) Python 應用程序的時候,系統(tǒng)安裝的 Python3 只有一個版本:3.4。所有第三方的包都會被 pip 安裝到Python3的 site-packages 目錄下。
如果我們要同時開發(fā)多個應用程序,那這些應用程序都會共用一個 Python,就是安裝在系統(tǒng)的 Python 3。
如果應用 A 需要 jinja 2.7,而應用 B 需要 jinja 2.6 怎么辦?
這種情況下,每個應用可能需要各自擁有一套“獨立”的 Python 運行環(huán)境。virtualenv 就是用來為一個應用創(chuàng)建一套“隔離”的 Python 運行環(huán)境。

pylint

摘自:如何使用 Pylint 來規(guī)范 Python 代碼風格

Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風格標準(Pylint 默認使用的代碼風格是 PEP 8,具體信息,請參閱參考資料)和有潛在問題的代碼。

簡單的來說,Pylint 為我們提供了糾錯的功能,如果你希望在你的代碼中,及時發(fā)現(xiàn)標注波浪線的錯誤,請安裝它。

yapf

摘自:有哪些命令行的軟件堪稱神器? - int32bit的回答 - 知乎

Google開發(fā)的python代碼格式規(guī)范化工具,支持pep8以及Google代碼風格。

簡單的說, yapf 為我們提供了格式化代碼的功能,如果你希望在你的代碼中,使用 Alt + Shfit + F 來自動格式化你的 Python 代碼,請安裝它。

安裝過程

使用下面的命令依次安裝他們:

pip install virtualenv
pip install pylint
pip install yapf
安裝中可能出現(xiàn)的問題

下面總結(jié)一下,筆者在安裝中出現(xiàn)過的問題,以及解決方法。

UnicodeEncodeError "utf-8" codec can"t encode character...

這個也是一個比較常見的問題,遇到這個問題時,可以參考錯誤中的倒數(shù)第三行中的路徑:

...
File "c:usersxxxappdatalocalprogramspythonpython36-32libsite-packagespipcompat\__init__.py", line 75, in console_to_str
    return s.decode("utf_8")
UnicodeDecodeError: "utf-8" codec can"t decode byte 0xc1 in position 55: invalid start byte

比如,上面的錯誤中,我們打開c:usersxxxappdatalocalprogramspythonpython36-32libsite-packagespipcompat\__init__.py這個文件,定位到 第 75 行。
return s.decode("utf_8") 改為 return s.decode("cp936")
如上操作可能需要管理員權(quán)限,建議使用 Windows + X 使用管理員權(quán)限的命令提示符或者管理員權(quán)限的 PowerShell。
然后輸入 code c:usersxxxappdatalocalprogramspythonpython36-32libsite-packagespipcompat\__init__.py 改成對應你的文件名。

3. 修改 vscode 中的設置

打開 vscode,進入 文件 > 首選項 > 設置,按照下面的注釋修改對應的值。

    // 如果使用 pylint, 設置下面的為 true。如果使用其他語法糾錯的庫,可以將對應的設置為 true,其他的設置為 false。
    "python.linting.pylintEnabled": true

    // 如果安裝了 yapf,并且希望使用 yapf 格式化代碼的,請修改下面的選項。
    "python.formatting.provider": "yapf"
4. 使用 virtualenv 創(chuàng)建工程目錄

為每一個 Python 項目配置一個獨立的環(huán)境和目錄,是一個比較好的想法,這樣你可以根據(jù)需要安裝不同的庫以及版本。
這一小節(jié),將使用 virtualenv 創(chuàng)建一個虛擬環(huán)境,并且安裝 flask。

首先,我們先啟動一個具有管理員權(quán)限的 PowerShell。(你也可以使用 CMD)
假設我們需要將項目放在 D:pydemo 這個文件夾內(nèi)。

創(chuàng)建文件夾并配置虛擬環(huán)境
PS D:> mkdir pydemo

PS D:> cd pydemo

PS D:pydemo> virtualenv --no-site-packages .venv
Using base prefix "c:program filespython36"
New python executable in D:pydemo.venvScriptspython.exe
Installing setuptools, pip, wheel...done.

PS D:pydemo>

如果出現(xiàn)上面的提示,就說明安裝已經(jīng)完成了,接下來我們要將 PowerShell 的環(huán)境切換到這個虛擬環(huán)境中。

在 PowerShell 中:

PS D:pydemo> ./.venv/Scripts/activate.ps1
(.venv) PS D:pydemo>

如果提示錯誤,可以嘗試使用下面的方法解決

(.venv) PS D:pydemo> Set-ExecutionPolicy RemoteSigned

執(zhí)行策略更改
執(zhí)行策略可幫助你防止執(zhí)行不信任的腳本。更改執(zhí)行策略可能會產(chǎn)生安全風險,如 http://go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 幫助主題所述。是否要更改執(zhí)行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暫停(S)  [?] 幫助 (默認值為“N”): Y

如果你使用的是 CMD,則使用下面的命令:

D:pydemo> ./.venv/Scripts/activate.bat
(.venv) D:pydemo>
往虛擬環(huán)境中安裝包

如果你的命令行,或者 PowerShell 已經(jīng)變成了

(.venv) PS D:pydemo>

前面有一個括號,表示的是你最開始創(chuàng)建的虛擬環(huán)境的位置,那么這就說明你已經(jīng)把上下文的環(huán)境切換到了虛擬環(huán)境里面。
我們在這里面安裝的 pip 就不會放到公共的 site-packages 里面了。

執(zhí)行下面的命令安裝 flask 和 watchdog(如果又出現(xiàn) UnicodeEncodeError,參考上一節(jié)所描述的解決方案,修改虛擬環(huán)境中的 __init__.py。)

(.venv) PS D:pydemo> pip install flask
Collecting flask
  Using cached Flask-0.12.2-py2.py3-none-any.whl
Collecting Jinja2>=2.4 (from flask)
  Using cached Jinja2-2.10-py2.py3-none-any.whl
Collecting Werkzeug>=0.7 (from flask)
  Using cached Werkzeug-0.12.2-py2.py3-none-any.whl
Collecting click>=2.0 (from flask)
  Using cached click-6.7-py2.py3-none-any.whl
Collecting itsdangerous>=0.21 (from flask)
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask)
Installing collected packages: MarkupSafe, Jinja2, Werkzeug, click, itsdangerous, flask
Successfully installed Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.12.2 click-6.7 flask-0.12.2 itsdangerous-0.24

(.venv) PS D:pydemo> pip install watchdog
Collecting watchdog
Collecting argh>=0.24.1 (from watchdog)
  Using cached argh-0.26.2-py2.py3-none-any.whl
Collecting PyYAML>=3.10 (from watchdog)
Collecting pathtools>=0.1.1 (from watchdog)
Installing collected packages: argh, PyYAML, pathtools, watchdog
Successfully installed PyYAML-3.12 argh-0.26.2 pathtools-0.1.2 watchdog-0.8.3

(.venv) PS D:pydemo>

安裝完成之后,我們可以從 PowerShell 中直接運行 vscode 并且將工作目錄設置為當前目錄(也就是D:pydemo)。

(.venv) PS D:pydemo> code .
5. 修改 launch.json

打開 vscode 之后,使用 Ctrl + Shift + D,或者點擊側(cè)邊欄的調(diào)試選項,調(diào)出調(diào)試選項側(cè)邊欄。
然后點擊齒輪 配置或修復 "launch.json",自動生成一個 launch.json
如果出現(xiàn)選擇環(huán)境,我們選擇 Python

在 configurations 中,我們僅保留 "name": "Python: Flask (0.11.x or later)"這一段。其他的全部刪掉。

將這一段配置中的下面幾個選項重新配置一下:

// 將 Python 指定為虛擬環(huán)境中的 Python
"pythonPath": "${workspaceRoot}/.venv/Scripts/python.exe"

// 將 program 和 env.FLASK_APP 都設定為你這個項目的入口文件。
"program": "${workspaceRoot}/main.py"
"env": {
    "FLASK_APP": "${workspaceRoot}/main.py"
}

配置完之后,應該是這樣的:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Flask (0.11.x or later)",
            "type": "python",
            "request": "launch",
            "stopOnEntry": false,
            "pythonPath": "${workspaceRoot}/.venv/Scripts/python.exe",
            "program": "${workspaceRoot}/main.py",
            "cwd": "${workspaceRoot}",
            "env": {
                "FLASK_APP": "${workspaceRoot}/main.py"
            },
            "args": [
                "run",
                "--no-debugger",
                "--no-reload"
            ],
            "envFile": "${workspaceRoot}/.env",
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit",
                "RedirectOutput"
            ]
        }
    ]
}

保存并關閉。

6. 創(chuàng)建測試代碼并運行測試

使用 Ctrl + Shift + E 或者點擊左側(cè)邊欄的文件,回到文件側(cè)邊欄。
在 pydemo 中,我們新建一個文件,名為main.py。如果你上面的配置指定的是其他文件名,可以修改成你自己指定的。

并加入下面的代碼:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.debug = False
    app.run(host="localhost", port=5000)

這里必須將 app.debug 設置為 False,否則會出現(xiàn)一直Restarting
按下 F5 運行代碼,將會在 調(diào)試控制臺 中看到:

* Running on http://localhost:5000/ (Press CTRL+C to quit)

這個時候,我們可以通過瀏覽器訪問http://localhost:5000/,會有 Hello World! 顯示。
到此,我們的環(huán)境配置就完成了。


參考文章:
https://www.liaoxuefeng.com/w...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/44501.html

相關文章

  • 使用Visual Studio Code編寫調(diào)試Python Flask程序

    摘要:最近由于工作關系,開始寫程序,同事有用的,有用的。第一種適合及以上版本,因為在版本起,出現(xiàn)了文件,配置可以寫成用文件啟動程序,實測可以觸發(fā)斷點。 最近由于工作關系,開始寫flask web程序,同事有用Vim的,有用PyCharm的。在調(diào)研了一通python的編輯器,IDE之后,發(fā)現(xiàn)Visual Studio Code相對比較適合我。 VSC有相對較全的功能,比較好看舒服的主題,良好的...

    gotham 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協(xié)議和RESTful API相關資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...

    Jeffrrey 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協(xié)議和RESTful API相關資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...

    sf190404 評論0 收藏0
  • 后端API從入門到放棄指北

    摘要:菜鳥教程框架中文手冊入門目標使用搭建通過對數(shù)據(jù)增刪查改沒了純粹占行用的拜 后端API入門學習指北 了解一下一下概念. RESTful API標準] 所有的API都遵循[RESTful API標準]. 建議大家都簡單了解一下HTTP協(xié)議和RESTful API相關資料. 阮一峰:理解RESTful架構(gòu) 阮一峰:RESTful API 設計指南 RESTful API指南 依賴注入 D...

    Airmusic 評論0 收藏0

發(fā)表評論

0條評論

gself

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<