關於PyCharm匯入自己寫的module時報錯:No Module Named XXX的解決方案
本人對Pycharm情有獨鍾,強大的功能再搭配ipython簡直不要太爽。可是就在今天,本人為了使用某些第三方庫,在原來的Python2.7.11版本的基礎上裝了3.6.的版本,結果一頓瞎折騰可,導致之前寫的好多東西都不能import了,報錯No module named xxx
顧名思義,就是Pycharm以及ipython找不到自定義的模組了。但是具體怎麼解決呢?
1、在說這個之前,有一個常識需要明白,就是一個簡單的Python專案的目錄結構(再小點就是一個module),這個很重要。我們知道,一個py檔案就是一個module, 而包含一個__init__.py檔案的目錄就是一個python的包(package),如下圖:
其中,titanic.py 就是一個模組(module), 包含了__init__.py的目錄titanic就是一個包。這樣,我們如果要在pycharm或者ipython裡引用titanic這個模組時,直接可以使用import titanic或者from TitanicSurvived import titanic;保證了這個部分沒問題後,如果pycharm繼續報錯No module named XXX,多半是下面一種情況:
2、開啟Pycharm裡面的settings按鈕,進入設定頁面,再點Build, Execution, Doployment選項,進入如下介面:
注意這部分內容,會給我們一點啟發:
其中WORKING_DIR_AND_PYTHON_PATHS指的就是我們的Python projects的位置。有了上面那段話後,點選pycharm控制檯的Python console選項卡就可以看到:
留意紅色部分,是不是你要匯入的包的所在位置?(當然上圖是我改正後的結果)如果不是,那就好辦了,這時你只要修改python的環境變數就好了;
進入windows的環境變數介面,進入PYTHONPATH進行編輯,如果沒有就新建一個,變數值是你的python專案的位置,如有多個位置,可以在後面追加
搞定之後,再去ipython裡面import試試。是不是OK了?
注:感謝以下兩位朋友的博文:
https://my.oschina.net/leejun2005/blog/109679
http://blog.csdn.net/pwc1996/article/details/52577148
相關推薦
關於PyCharm匯入自己寫的module時報錯:No Module Named XXX的解決方案
本人對Pycharm情有獨鍾,強大的功能再搭配ipython簡直不要太爽。可是就在今天,本人為了使用某些第三方庫,在原來的Python2.7.11版本的基礎上裝了3.6.的版本,結果一頓瞎折騰可,導致
用HTMLParser解析html時報錯:No module named ‘htmlentitydefs‘
ror python links href and htm ref over request python3.6用HTMLParser解析html時報錯No module named ‘htmlentitydefs‘或No module named ‘markupbase‘
pycharm匯入自己寫的模組時,模組下方出現紅色波浪線的解決方案
這種情況其實可以不用管,是可以正常執行的; 但是,如果看著不舒服,可以進行以下過程進行設定即可: file->settings->project->project structure->點選專案路徑->點選Excluded。然後確定就正常顯示了。
【pycharm】pycharm上安裝tensorflow,報錯:AttributeError: module 'pip' has no attribute 'main' 解決方法
pycharm上安裝tensorflow,報錯:AttributeError: module 'pip' has no attribute 'main' 解決方法 解決方法: 在pycharm的安裝目錄下,找到helpers/packaging_tool.py檔案,
【環境搭建系列】pycharm中報錯:no module named numpy
1、環境描述 安裝了anaconda3,並且在jupyter notebook中,可以呼叫numpy。 但是在pycharm中就報錯:no module named numpy 2、解決方法 這是因為pycharm預設的python沒有選擇anaconda自帶
當pycharm環境下已經有HTMLTestRunner.py檔案時,執行程式仍然報錯:No module name HTMLTestRunner
若遇到如上報錯,可以用以下方法解決首先檢視工程的路徑進入setting-project Interpreter檢查pycharm setting裡面路徑是否正確,看路徑是否為當前虛擬環境venv的路徑,下圖路徑不正確(圖一不正確)圖一當檢查發現路徑不正確的時候,將整個venv
將.xls檔案匯入SQL SERVER 2005時報錯:外部表不是預期的格式,解決方法
這個主要是由於excel檔案格式不標準導致的 解決方法: 把該excel檔案另存為一下,在匯入即可。 注意: sqlserver2005好像不識別.xlsx的,同樣的,我們另存為時,存為.xls即可匯入。
創建Maven Module時報錯:The parent project must have a packaging type of POM
mage ren 分享 報錯 pom ima mave parent 目的 創建Maven Module時報錯:The parent project must have a packaging type of POM 解決的辦法,是把父項目的Packaging改
python的卸載方式和運行yum報錯:No module named yum
package 其他 too alt mir edits oca 情況下 test 公司測試機環境不知道給我卸了什麽包,導致yum運行報錯狀況: 系統版本:Red Hat Enterprise Linux Server release 6.2 (Santiago) 內核版本
mac使用easy_install安裝pip時報錯 ImportError: No module named extern
1.首先根據以下步驟安裝pip: 1.Install easy_install curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python 2.Install pip s
python cmd 啟動python專案報錯:no module named “xxx”
場景:使用pycharm編輯器啟動pyhon專案時可以啟動,但使用cmd啟動時,會報:no module named “xxx”的錯誤,此時,有兩種情況: 1.no module named “xxx”裡的“xxx”是python的庫名; 此時說明引用庫沒成功,可能是因為電腦裡有多個版本的pyth
python 3.X系列報錯:No module named 'urllib2'
查閱Python官方文件裡面已有說明: Note The urllib2 module has been split across several modules in Python 3.0 named urllib.request and urllib.error. The
yum安裝nginx時報錯:No package nginx available. Error: Nothing to do
在安裝nginx時出現以下錯誤: [[email protected]1 ~]# yum install nginx -y Loaded plugins: fastestmirror, re
Python3環境下django連線mysql報錯:No module named 'MySQLdb'
原因是python3中使用了一個新的模組,叫做pymysql,可以直接pip安裝 pip安裝完成後,在django專案的manage.py檔案中新增下面兩行就OK了: from django.cor
python 3.x報錯:No module named 'cookielib'或No module named 'urllib2'
1. ModuleNotFoundError: No module named 'cookielib' Python3中,import cookielib改成 import http.cookiejar,然後
解決返回JSON時報錯:No converter found for return value of type:
exception org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentExc
mysql資料庫操作時報錯:Unknown table engine 'InnoDB"解決方法
原因可能是mysql資料庫沒有使用InnoDB引擎,解決方法: 1 找到安裝路徑下的bin資料夾,找到my.ini檔案。 2開啟檔案,找到“skip-innodb”這句話,在前面輸入#號,即將這句話遮蔽掉。 在2中的操作中,系統可能會提示禁止訪問,這裡用的是個巧妙方法: 將
django報錯:No module named urls
django專案:url.py 配置 Exception Value: No module named urls 看的是django+book.pdf,書上使用的使用的是老版本的django, 如果配置為: from django.conf.urls.defaults import * urlp
linux 終端啟動圖形化程式介面時報錯:No protocol specified
這是因為Xserver預設情況下不允許別的使用者的圖形程式的圖形顯示在當前螢幕上. 如果需要別的使用者的圖形顯示在當前螢幕上, 則應以當前登陸的使用者, 也就是切換身份前的使用者執行如下命令 xhost + 遠端訪問時也會出現類似問題: 第一步:用root登陸
import theano時報錯ImportError: No module named cPickle
>>> import theano Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Library/Python/2