【Python】import自己的模塊報錯

在實際使用python時,我們會將一些公共的東西寫到一些基礎模塊中,供其他模塊去調用,這時會去import自定義的一些基礎模塊,然後來導入。
自己寫好了腳本,然後導入,導入的情況分爲以下情況:
1. 運行的模塊與需要調用自定義基礎模塊在同一文件夾下
2. 自定義模塊與所需要調用自定義模塊的文件不在同一文件夾下

一、同一文件夾下
這時的調用就較爲簡單了,直接導入即可

from deal_excel import copy_sheetWrite, row_commonWrite
from deal_time import minus_date

1.1但是這個時候在PyCharm中顯示的是報錯,但是運行程序是不會報錯的

爲了讓在PyCharm中不報錯,可以將包/文件夾設爲 sources Root

現在就不報錯了

1.2 在cmd命令中執行也是成功的

如果在模塊前面加上包名(下面有個__init__.py)或者文件夾名

from msydwork.deal_excel import copy_sheetWrite, row_commonWrite
from msydwork.deal_time import minus_date

PyCharm中顯示不報錯,運行程序成功

但是在cmd命令中運行卻是失敗的

所以對於處於同一文件夾下的情況:直接導入模塊;爲了PyCharm中不報錯,將包/文件夾設爲sources Root

二、處於不同文件夾下面

在PyCharm中是不會報錯而且執行成功,是由於將deal_excel、deal_time所在包設爲sources Root

這時在cmd命令中是執行失敗的

在PyCharm中是不會報錯而且執行成功另外一種方法:導包時全路徑(可以不設sources Root

這時在cmd命令中也是報錯的

爲了讓代碼在cmd命令中執行成功,需要將自定義基礎模塊的文件夾/包添加到Python的庫路徑中。

三、找到本地庫的路徑,然後將文件拷進去即可

拷貝到\Lib\site-packages中

PyCharm中是不會報錯而且執行成功

cmd命令中執行成功

四、手動給python添加搜索路徑

在python安裝目錄的\Lib\site-packages文件夾中建立一個.pth文件,內容爲自己寫的庫絕對路徑

這個時候PyCharm中是會報錯的,但是執行是成功的

cmd命令是執行成功的。

還有一種方法導入完整路徑:

將根目錄設爲搜索路徑

這時候不管在PyCharm還是cmd執行都是成功的

所以對於處於不同一文件夾下的情況:先手動給python添加搜索路徑(根目錄),然後直接導入模塊全路徑;

在這裏說一句Python的包搜索路徑:

Python會在以下路徑中搜索它想要尋找的模塊:

1. 程序所在的文件夾

2. 標準庫的安裝路徑

3. 操作系統環境變量PYTHONPATH所包含的路徑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章