pycharm引入其他目錄的包報(bào)錯(cuò),import報(bào)錯(cuò)的解決
pycharm引入其他目錄的包報(bào)錯(cuò),import報(bào)錯(cuò)
此時(shí)只需要將他們的上級(jí)目錄置為Sources Root即可
pycharm引入自定義包報(bào)錯(cuò)及解決
1.Dictionary 目錄及Package包區(qū)別
- Dictionary:在pycharm中就是一個(gè)文件夾,放置資源文件,對(duì)應(yīng)于在進(jìn)行JavaWeb開(kāi)發(fā)時(shí)用于放置css/js文件的目錄,或者說(shuō)在進(jìn)行物體識(shí)別時(shí),用來(lái)存儲(chǔ)背景圖像的文件夾。該文件夾其中并不包含_ _ init.py_ _文件
- Python package :與Dictionary不同之處在于其會(huì)自動(dòng)創(chuàng)建_ _ init__.py文件。 簡(jiǎn)單的說(shuō),python package就是一個(gè)目錄,其中包括一組模塊和一個(gè)__init__.py文件。
該文件與Python的import機(jī)制有關(guān),這關(guān)乎到你的哪些.py文件是對(duì)外可訪問(wèn)的。有些時(shí)候,如果一個(gè)包下有很多模塊,在import如此多模塊是很費(fèi)事,且不優(yōu)雅的,此時(shí)可以通過(guò)修改_ _ init_ _.py來(lái)完成該任務(wù)。
在__init__ .py中定義特殊變量_all_ ,將要包含的模塊復(fù)制給該變量,例如在 __ init__ .py中定義 _all_=[‘tiff’,’bmp’,’jpg’],這里的all 對(duì)應(yīng)的就是 from …import * 中*代指的模塊,此時(shí)在引用方使用如下語(yǔ)句:
from image import * tool = tiff.read('a.tiff')
2.Pycharm目錄下的包不能被引用解決
方法1:
使用from…import添加非python的包時(shí), 需要為python解釋器指定搜索路徑, 比如使用sys.path.insert(), 還可以指定PYTHONPATH, 我用的是PYTHONPATH, 編輯run的配置文件時(shí)突然看到"Add source roots to PYTHONPATH", 又突然聯(lián)想到Mark Directory as, 于是就覺(jué)得把文件夾Mark Directory as成root就不用手動(dòng)添加PYTHONPATH了,
方法2:(原理同1):
同包引用錯(cuò)誤:右鍵包 -->Mark Directory as --> Sources Root ,將文件設(shè)置為資源引用
Mark Directory as中幾個(gè)不同選項(xiàng)
Within a content root, PyCharm can distinguish between the folders that contain source code, and the ones to be ignored while searching, parsing, watching and so on. To distinguish different types of folders, mark any folder below a content root as a source folder or as excluded.
在內(nèi)容根目錄中,PyCharm可以區(qū)分包含源代碼的文件夾和在搜索、解析、監(jiān)視等過(guò)程中要忽略的文件夾。若要區(qū)分不同類(lèi)型的文件夾,請(qǐng)將內(nèi)容根目錄下的任何文件夾標(biāo)記為源文件夾或排除文件夾。
Source roots contain the actual source files and resources. PyCharm uses the source roots as the starting point for resolving imports
源根包含實(shí)際的源文件和資源。PyCharm使用源根作為解析導(dǎo)入的起點(diǎn)
Resource roots are intended for resource files in your application (images, Style Sheets, and so on). By assigning a folder to this category, you tell PyCharm that files in it and in its subfolders can be referenced relative to this folder instead of specifying full paths to them.
資源根用于應(yīng)用程序中的資源文件(圖像、樣式表等)。通過(guò)將文件夾分配給該類(lèi)別,您可以告訴PyCharm,它及其子文件夾中的文件可以相對(duì)于該文件夾被引用,而不是指定指向它們的完整路徑。
Template roots contain templates for the various web projects.
模板根包含各種web項(xiàng)目的模板。
Excluded roots
contain files and folders ignored by PyCharm when indexing, searching, parsing, watching, and so on.
排除的根包含PyCharm在索引、搜索、解析、監(jiān)視等時(shí)忽略的文件和文件夾。
3.Pycharm 第三方包的引用
如果是在pycharm 中安裝了第三方包如果應(yīng)用,不是借助框架引入還要在python3.6/site-packages 文件下 pip install ---
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python產(chǎn)生模擬數(shù)據(jù)faker庫(kù)的使用詳解
這篇文章主要介紹了python產(chǎn)生模擬數(shù)據(jù)faker庫(kù)的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11關(guān)于使用Python的time庫(kù)制作進(jìn)度條程序
這篇文章主要介紹了關(guān)于使用Python的time庫(kù)制作進(jìn)度條程序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Python3爬蟲(chóng)中關(guān)于中文分詞的詳解
在本篇文章里小編給大家整理的是關(guān)于Python3爬蟲(chóng)中關(guān)于中文分詞的詳解內(nèi)容,需要的朋友們可以參考下。2020-07-07python 平衡二叉樹(shù)實(shí)現(xiàn)代碼示例
這篇文章主要介紹了python 平衡二叉樹(shù)實(shí)現(xiàn)代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python flask開(kāi)發(fā)的簡(jiǎn)單基金查詢(xún)工具
基于python flask開(kāi)發(fā)的簡(jiǎn)單基金查詢(xún)工具,支持大盤(pán)指數(shù)實(shí)時(shí)情況查看,總持倉(cāng)實(shí)際漲幅、預(yù)估漲幅等功能,感興趣的朋友可以下載該項(xiàng)目來(lái)查看使用2021-06-06Python中文分詞實(shí)現(xiàn)方法(安裝pymmseg)
這篇文章主要介紹了Python中文分詞實(shí)現(xiàn)方法,通過(guò)安裝pymmseg來(lái)實(shí)現(xiàn)分詞功能,涉及pymmseg的下載、解壓、安裝及使用技巧,需要的朋友可以參考下2016-06-06Tensorflow加載Vgg預(yù)訓(xùn)練模型操作
這篇文章主要介紹了Tensorflow加載Vgg預(yù)訓(xùn)練模型操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05