最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

通過(guò)這篇文章,我想和大家分享如何以一種更優(yōu)雅的方式解決 Python 項(xiàng)目中的模塊導(dǎo)入問(wèn)題。
同時(shí),我也介紹了如何在 VSCode 中管理項(xiàng)目環(huán)境變量和運(yùn)行路徑,這對(duì)于解決開(kāi)發(fā)過(guò)程中的環(huán)境配置問(wèn)題非常有幫助。希望我的經(jīng)驗(yàn)?zāi)艹蔀槠渌_(kāi)發(fā)者在面對(duì)類(lèi)似問(wèn)題時(shí)的寶貴資源。

我的問(wèn)題解決過(guò)程

(想直接看解決教程的直接跳到下一個(gè)標(biāo)題內(nèi)容)我的項(xiàng)目結(jié)構(gòu)是這樣的

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

結(jié)果運(yùn)行test_deal_file.py會(huì)出現(xiàn)報(bào)錯(cuò)信息:

# 報(bào)錯(cuò)信息
    from controllers.deal_file import read_excel
ModuleNotFoundError: No module named 'controllers'

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

我又嘗試了

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

但是說(shuō)實(shí)話,不是很美觀

我決定從根本上解決這個(gè)問(wèn)題。

首先我打印我所有運(yùn)行路徑

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

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

vscode 解決模塊導(dǎo)入問(wèn)題的流程

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

2. 選擇合適的工作區(qū)打開(kāi)setting界面后,上面有三個(gè)選項(xiàng),對(duì)應(yīng)著三種級(jí)別的設(shè)置文件工作區(qū)(workspace)、遠(yuǎn)程(remote)和用戶(hù)(user)。每個(gè)級(jí)別的設(shè)置都有其特定的用途和作用范圍。

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

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

如果環(huán)境變量?jī)H適用于特定項(xiàng)目,您應(yīng)該在工作區(qū)設(shè)置文件中添加它們。

如果環(huán)境變量需要在所有項(xiàng)目中使用,您應(yīng)該在用戶(hù)設(shè)置文件中添加它們。

如果環(huán)境變量是針對(duì)遠(yuǎn)程開(kāi)發(fā)環(huán)境的,您應(yīng)該在遠(yuǎn)程設(shè)置文件中添加它們。

3. 打開(kāi)對(duì)應(yīng)工作區(qū)的setting.json頁(yè)面往下滑找到Edit in setting.json,點(diǎn)擊打開(kāi)

4. 編輯setting.json接下來(lái)你要修改這個(gè)文件

下面內(nèi)容復(fù)制到你的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

  • 關(guān)閉terminal集成終端
    在 VSCode 中,關(guān)閉當(dāng)前打開(kāi)的集成終端。

  • 打開(kāi)新的集成終端:
    通過(guò)點(diǎn)擊 VSCode 頂部的 “Terminal” 菜單或者使用快捷鍵 Ctrl+ (在 Mac 上是Cmd+ ) 來(lái)打開(kāi)一個(gè)新的集成終端窗口。

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

總結(jié) 

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

相關(guān)文章

  • Python之tkinter文字區(qū)域Text使用及說(shuō)明

    Python之tkinter文字區(qū)域Text使用及說(shuō)明

    這篇文章主要介紹了Python之tkinter文字區(qū)域Text使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python中命令行參數(shù)argparse模塊的使用

    Python中命令行參數(shù)argparse模塊的使用

    argparse是python自帶的命令行參數(shù)解析包,可以用來(lái)方便的服務(wù)命令行參數(shù)。本文將通過(guò)示例和大家詳細(xì)講講argparse的使用,需要的可以參考一下
    2023-02-02
  • 基于Python和Tkinter實(shí)現(xiàn)文本文件轉(zhuǎn)換為MP3語(yǔ)音文件

    基于Python和Tkinter實(shí)現(xiàn)文本文件轉(zhuǎn)換為MP3語(yǔ)音文件

    本文介紹了基于Python和Tkinter的圖形界面應(yīng)用程序,該程序用于將文本文件轉(zhuǎn)換為MP3語(yǔ)音文件,功能包括文本轉(zhuǎn)語(yǔ)音轉(zhuǎn)換、文件處理、語(yǔ)音參數(shù)調(diào)節(jié)等,用戶(hù)界面設(shè)計(jì)合理,具有多線程處理、自動(dòng)保存和錯(cuò)誤處理等技術(shù)特點(diǎn),使用流程簡(jiǎn)單易懂,附帶幫助文檔
    2026-02-02
  • 利用pyinstaller打包exe文件的基本教程

    利用pyinstaller打包exe文件的基本教程

    這篇文章主要給大家介紹了關(guān)于利用pyinstaller打包exe文件的基本方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用pyinstaller具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python實(shí)現(xiàn)爬取房源信息的示例詳解

    Python實(shí)現(xiàn)爬取房源信息的示例詳解

    站在一個(gè)租房人的立場(chǎng),租房平臺(tái)實(shí)在太多了,并且各平臺(tái)篩選和排序邏輯都不太一致。這篇文章將教教大家如何利用Python語(yǔ)言實(shí)現(xiàn)爬取房源信息,需要的可以參考一下
    2022-09-09
  • Python基礎(chǔ)之python循環(huán)控制語(yǔ)句break/continue詳解

    Python基礎(chǔ)之python循環(huán)控制語(yǔ)句break/continue詳解

    Python中提供了兩個(gè)關(guān)鍵字用來(lái)控制循環(huán)語(yǔ)句,分別是break和continue,接下來(lái)通過(guò)兩個(gè)案例來(lái)區(qū)分這兩個(gè)控制語(yǔ)句的不同,感興趣的朋友一起看看吧
    2021-09-09
  • Linux下把Python3設(shè)為默認(rèn)Python版本的三種方法

    Linux下把Python3設(shè)為默認(rèn)Python版本的三種方法

    這篇文章主要給大家介紹了關(guān)于Linux下把Python3設(shè)為默認(rèn)Python版本的三種方法,在大部分開(kāi)發(fā)過(guò)程中,我們需要使用到python3進(jìn)行測(cè)試,于是下載安裝python3,近乎是一種剛需,至于設(shè)置默認(rèn)python指向python3可以參考本文
    2023-09-09
  • Python Selenium 設(shè)置元素等待的三種方式

    Python Selenium 設(shè)置元素等待的三種方式

    這篇文章主要介紹了Python Selenium 設(shè)置元素等待的三種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • pycharm沒(méi)有找到manage?repositories按鈕的解決辦法

    pycharm沒(méi)有找到manage?repositories按鈕的解決辦法

    這篇文章主要給大家介紹了關(guān)于pycharm沒(méi)有找到manage?repositories按鈕的解決辦法,pycharm是用來(lái)寫(xiě)python的可視化代碼軟件,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Python實(shí)現(xiàn)OpenCV中文路徑圖片讀寫(xiě)的詳細(xì)指南

    Python實(shí)現(xiàn)OpenCV中文路徑圖片讀寫(xiě)的詳細(xì)指南

    在Python中使用OpenCV處理圖片時(shí),涉及讀取和保存圖片的操作,可能會(huì)遇到中文路徑的兼容性問(wèn)題,該指南的目的是展示如何正確處理帶有中文路徑的圖片,并使用OpenCV將圖片保存到指定的中文路徑,需要的朋友可以參考下
    2025-03-03

最新評(píng)論

女性| 资兴市| 阿克| 江山市| 南汇区| 合阳县| 明水县| 巴青县| 睢宁县| 保康县| 花莲县| 华安县| 郁南县| 台山市| 广宗县| 天津市| 凤台县| 洛南县| 台前县| 肥城市| 镇宁| 璧山县| 阿拉善左旗| 渭源县| 丰顺县| 克东县| 阿拉尔市| 天长市| 杭州市| 阜康市| 卓资县| 宾阳县| 新建县| 进贤县| 沙湾县| 珠海市| 大安市| 宝山区| 凤山县| 衡南县| 西和县|