欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳解如何從根本上優(yōu)雅地解決VSCode中的Python模塊導入問題

 更新時間:2024年07月06日 10:48:44   作者:向日葵花籽兒  
有時你可能會遇到這種問題,明明用pip安裝好了一個python模塊,但在VScode中總是顯示錯誤,這篇文章主要給大家介紹了關于如何從根本上優(yōu)雅地解決VSCode中的Python模塊導入問題的相關資料,需要的朋友可以參考下

整體概述:
在我嘗試運行 test_deal_file.py 時,我遇到了一個 ModuleNotFoundError 錯誤,Python告訴我找不到名為 controllers 的模塊。這意味著我無法從 deal_file.py 中導入 read_excel 函數(shù)。

為了解決這個問題,我嘗試了幾種方法。
首先,我使用了相對導入,這在不改變當前工作目錄的情況下是有效的,但一旦我切換了目錄,這個方法就不行了。
接著,我嘗試動態(tài)地將當前工作目錄添加到 sys.path 中。
這樣做雖然有效,但我覺得這種方法不夠優(yōu)雅。

所以,我決定采取一種更徹底的解決方案。
我通過修改 VSCode 的 settings.json 文件,設置了 PYTHONPATH 環(huán)境變量,確保了我的項目路徑 my_project 被加入到模塊搜索路徑中。
我在settings.json中為不同的操作系統(tǒng)配置了terminal.integrated.env` 部分,然后重啟了虛擬環(huán)境和集成終端。重新運行我的文件后,問題終于解決了。

通過這篇文章,我想和大家分享如何以一種更優(yōu)雅的方式解決 Python 項目中的模塊導入問題。
同時,我也介紹了如何在 VSCode 中管理項目環(huán)境變量和運行路徑,這對于解決開發(fā)過程中的環(huán)境配置問題非常有幫助。希望我的經(jīng)驗能成為其他開發(fā)者在面對類似問題時的寶貴資源。

我的問題解決過程

(想直接看解決教程的直接跳到下一個標題內(nèi)容)我的項目結構是這樣的

my_project/
├── controllers/
│   ├── __init__.py     
│   └── deal_file.py     
└── tests/
    ├── __init__.py      
    └── test_deal_file.py 

結果運行test_deal_file.py會出現(xiàn)報錯信息:

# 報錯信息
    from controllers.deal_file import read_excel
ModuleNotFoundError: No module named 'controllers'

我嘗試了引用改成from ..controllers.deal_file import read_excel,terminal不切換目錄可以運行成功,但切換目錄后還是運行失敗

我又嘗試了

import sys
import os
sys.path.append(os.getcwd())

但是說實話,不是很美觀

我決定從根本上解決這個問題。

首先我打印我所有運行路徑

import sys
paths = sys.path
for path in paths:
    print(path)

輸出結果果然,不包含我my_project的路徑。如何把my_project路徑添加到系統(tǒng)運行路徑呢?方法如下:

vscode 解決模塊導入問題的流程

1. 打開設置界面在 VSCode 中,您可以通過點擊左下角的齒輪圖標然后選擇 “Settings” 來打開設置界面。
另一種方式是使用快捷鍵 Ctrl + ,(在 Mac 上是 Cmd + ,)直接打開設置界面。

2. 選擇合適的工作區(qū)打開setting界面后,上面有三個選項,對應著三種級別的設置文件工作區(qū)(workspace)、遠程(remote)和用戶(user)。每個級別的設置都有其特定的用途和作用范圍。

用戶設置(User settings): 位于全局級別,適用于您計算機上的所有 VSCode 實例。 路徑通常在
~/.config/Code/User/settings.json(Unix/Linux)或
%APPDATA%\Code\User\settings.json(Windows)。 用于存儲您希望在所有項目和環(huán)境中使用的全局配置。
工作區(qū)設置(Workspace settings): 特定于當前打開的工作區(qū)或項目。 路徑通常在工作區(qū)根目錄下的 .vscode/settings.json 文件中。 用于存儲針對特定項目或工作區(qū)的配置,這些配置不會影響其他項目。
遠程設置(Remote settings): 特定于遠程開發(fā)環(huán)境,例如通過 SSH 或容器連接的遠程服務器。 路徑通常在 .vscode-remote/settings.json 文件中,這個文件位于您的本地工作區(qū)目錄下。 用于存儲針對遠程開發(fā)環(huán)境的配置,如
SSH 連接設置、容器設置等。

現(xiàn)在你需要選擇適合你的設置文件:

如果環(huán)境變量僅適用于特定項目,您應該在工作區(qū)設置文件中添加它們。

如果環(huán)境變量需要在所有項目中使用,您應該在用戶設置文件中添加它們。

如果環(huán)境變量是針對遠程開發(fā)環(huán)境的,您應該在遠程設置文件中添加它們。

3. 打開對應工作區(qū)的setting.json頁面往下滑找到Edit in setting.json,點擊打開

4. 編輯setting.json接下來你要修改這個文件

下面內(nèi)容復制到你的setting.json文件中,并保存

{
    "terminal.integrated.env.windows": {
        "PYTHONPATH": "/path/to/your/project"
    },
    "terminal.integrated.env.linux": {
        "PYTHONPATH": "/path/to/your/project"
    },
    "terminal.integrated.env.osx": {
        "PYTHONPATH": "/path/to/your/project"
    }
}

  • 重啟虛擬環(huán)境
    Unix/Linux 系統(tǒng):source /path/to/venv/bin/activateWindows 系統(tǒng):\path\to\venv\Scripts\activate

  • 關閉terminal集成終端
    在 VSCode 中,關閉當前打開的集成終端。

  • 打開新的集成終端:
    通過點擊 VSCode 頂部的 “Terminal” 菜單或者使用快捷鍵 Ctrl+ (在 Mac 上是Cmd+ ) 來打開一個新的集成終端窗口。

  • 重新運行你的文件
    可以看到你的項目路徑已經(jīng)添加到環(huán)境,項目也可以正常運行了??

總結 

到此這篇關于從根本上優(yōu)雅地解決VSCode中的Python模塊導入問題的文章就介紹到這了,更多相關VSCode中Python模塊導入問題解決內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Flask框架利用Echarts實現(xiàn)繪制圖形

    Flask框架利用Echarts實現(xiàn)繪制圖形

    echarts是百度推出的一款開源的基于JavaScript的可視化圖表庫,該開發(fā)庫目前發(fā)展非常不錯,且支持各類圖形的繪制可定制程度高。如下演示案例中,將分別展示運用該繪圖庫如何前后端交互繪制(餅狀圖,柱狀圖,折線圖)這三種最基本的圖形,需要的可以參考一下
    2022-10-10
  • python內(nèi)置模塊OS?實現(xiàn)SHELL端文件處理器

    python內(nèi)置模塊OS?實現(xiàn)SHELL端文件處理器

    這篇文章主要介紹了python內(nèi)置模塊OS實現(xiàn)SHELL端文件處理器,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Python中設置變量訪問權限的方法

    Python中設置變量訪問權限的方法

    這篇文章主要介紹了Python中設置變量訪問權限的方法,是Python學習當中的重要知識點,需要的朋友可以參考下
    2015-04-04
  • Python小白必備的8個最常用的內(nèi)置函數(shù)(推薦)

    Python小白必備的8個最常用的內(nèi)置函數(shù)(推薦)

    這篇文章主要介紹了Python常用的內(nèi)置函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Python pymysql向SQL語句中傳參的多種方法

    Python pymysql向SQL語句中傳參的多種方法

    這篇文章主要介紹了Python-pymysql如何向SQL語句中傳參,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • python PyQt5中單行文本輸入控件QLineEdit用法詳解

    python PyQt5中單行文本輸入控件QLineEdit用法詳解

    在PyQt5的GUI編程中,QLineEdit控件是一個用于輸入和編輯單行文本的部件,它提供了豐富的功能和靈活性,可以輕松地實現(xiàn)用戶輸入的捕獲、驗證和格式化等功能,本文將通過實際案例詳細介紹QLineEdit控件的常用方法,需要的朋友可以參考下
    2024-08-08
  • wxPython窗口中文亂碼解決方法

    wxPython窗口中文亂碼解決方法

    這篇文章主要介紹了wxPython窗口中文亂碼解決方法,在Python程序設計中比較常見,是非常實用的技巧,需要的朋友可以參考下
    2014-10-10
  • python多進程實現(xiàn)文件下載傳輸功能

    python多進程實現(xiàn)文件下載傳輸功能

    這篇文章主要為大家詳細介紹了python多進程實現(xiàn)文件下載傳輸功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 基于python實現(xiàn)操作redis及消息隊列

    基于python實現(xiàn)操作redis及消息隊列

    這篇文章主要介紹了基于python操作redis及消息隊列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 解決Django響應JsonResponse返回json格式數(shù)據(jù)報錯問題

    解決Django響應JsonResponse返回json格式數(shù)據(jù)報錯問題

    這篇文章主要介紹了解決Django響應JsonResponse返回json格式數(shù)據(jù)報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論