【Python】import自己的模块报错
在實際使用python時,我們會將一些公共的東西寫到一些基礎(chǔ)模塊中,供其他模塊去調(diào)用,這時會去import自定義的一些基礎(chǔ)模塊,然后來導(dǎo)入。
自己寫好了腳本,然后導(dǎo)入,導(dǎo)入的情況分為以下情況:
1. 運行的模塊與需要調(diào)用自定義基礎(chǔ)模塊在同一文件夾下
2. 自定義模塊與所需要調(diào)用自定義模塊的文件不在同一文件夾下
一、同一文件夾下
這時的調(diào)用就較為簡單了,直接導(dǎo)入即可
1.1但是這個時候在PyCharm中顯示的是報錯,但是運行程序是不會報錯的
為了讓在PyCharm中不報錯,可以將包/文件夾設(shè)為 sources Root
現(xiàn)在就不報錯了
1.2 在cmd命令中執(zhí)行也是成功的
如果在模塊前面加上包名(下面有個__init__.py)或者文件夾名
from msydwork.deal_excel import copy_sheetWrite, row_commonWrite from msydwork.deal_time import minus_datePyCharm中顯示不報錯,運行程序成功
但是在cmd命令中運行卻是失敗的
所以對于處于同一文件夾下的情況:直接導(dǎo)入模塊;為了PyCharm中不報錯,將包/文件夾設(shè)為sources Root
二、處于不同文件夾下面
在PyCharm中是不會報錯而且執(zhí)行成功,是由于將deal_excel、deal_time所在包設(shè)為sources Root:
這時在cmd命令中是執(zhí)行失敗的
在PyCharm中是不會報錯而且執(zhí)行成功另外一種方法:導(dǎo)包時全路徑(可以不設(shè)sources Root)
這時在cmd命令中也是報錯的
為了讓代碼在cmd命令中執(zhí)行成功,需要將自定義基礎(chǔ)模塊的文件夾/包添加到Python的庫路徑中。
三、找到本地庫的路徑,然后將文件拷進去即可
拷貝到\Lib\site-packages中
PyCharm中是不會報錯而且執(zhí)行成功
cmd命令中執(zhí)行成功
四、手動給python添加搜索路徑
在python安裝目錄的\Lib\site-packages文件夾中建立一個.pth文件,內(nèi)容為自己寫的庫絕對路徑
這個時候PyCharm中是會報錯的,但是執(zhí)行是成功的
cmd命令是執(zhí)行成功的。
還有一種方法導(dǎo)入完整路徑:
將根目錄設(shè)為搜索路徑
這時候不管在PyCharm還是cmd執(zhí)行都是成功的
所以對于處于不同一文件夾下的情況:先手動給python添加搜索路徑(根目錄),然后直接導(dǎo)入模塊全路徑;
在這里說一句Python的包搜索路徑:
Python會在以下路徑中搜索它想要尋找的模塊:
1. 程序所在的文件夾
2. 標(biāo)準(zhǔn)庫的安裝路徑
3. 操作系統(tǒng)環(huán)境變量PYTHONPATH所包含的路徑
總結(jié)
以上是生活随笔為你收集整理的【Python】import自己的模块报错的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python unittest中初始化固
- 下一篇: 比亚迪后续车都会搭在鸿蒙系统吗_华为鸿蒙