網(wǎng)站首頁 編程語言 正文
在實際使用python時,我們會將一些公共的東西寫到一些基礎模塊中,供其他模塊去調(diào)用,這時會去import自定義的一些基礎模塊,然后來導入。
自己寫好了腳本,然后導入,導入的情況分為以下情況:
1. 運行的模塊與需要調(diào)用自定義基礎模塊在同一文件夾下
2. 自定義模塊與所需要調(diào)用自定義模塊的文件不在同一文件夾下
一、同一文件夾下
這時的調(diào)用就較為簡單了,直接導入即可
from deal_excel import copy_sheetWrite, row_commonWrite from deal_time import minus_date
但是這個時候在PyCharm中顯示的是報錯
但是運行程序是不會報錯的
為了讓在PyCharm中不報錯,可以將包/文件夾設為 sources Root
現(xiàn)在就不報錯了
在cmd命令中執(zhí)行也是成功的
如果在模塊前面加上包名(下面有個__init__.py)或者文件夾名
from msydwork.deal_excel import copy_sheetWrite, row_commonWrite from msydwork.deal_time import minus_date
PyCharm中顯示不報錯,運行程序成功
但是在cmd命令中運行卻是失敗的
所以對于處于同一文件夾下的情況:直接導入模塊;為了PyCharm中不報錯,將包/文件夾設為sources Root
二、處于不同文件夾下面
在PyCharm中是不會報錯而且執(zhí)行成功,是由于將deal_excel、deal_time所在包設為sources Root:
這時在cmd命令中是執(zhí)行失敗的
在PyCharm中是不會報錯而且執(zhí)行成功另外一種方法:導包時全路徑(可以不設sources Root)
這時在cmd命令中也是報錯的
為了讓代碼在cmd命令中執(zhí)行成功,需要將自定義基礎模塊的文件夾/包添加到Python的庫路徑中。
三、找到本地庫的路徑,然后將文件拷進去即可
拷貝到\Lib\site-packages中
PyCharm中是不會報錯而且執(zhí)行成功
cmd命令中執(zhí)行成功
四、手動給python添加搜索路徑
在python安裝目錄的\Lib\site-packages文件夾中建立一個.pth文件,內(nèi)容為自己寫的庫絕對路徑
這個時候PyCharm中是會報錯的,但是執(zhí)行是成功的
cmd命令是執(zhí)行成功的。
還有一種方法導入完整路徑:
將根目錄設為搜索路徑
這時候不管在PyCharm還是cmd執(zhí)行都是成功的
所以對于處于不同一文件夾下的情況:先手動給python添加搜索路徑(根目錄),然后直接導入模塊全路徑;
在這里說一句Python的包搜索路徑
Python會在以下路徑中搜索它想要尋找的模塊:
1. 程序所在的文件夾
2. 標準庫的安裝路徑
3. 操作系統(tǒng)環(huán)境變量PYTHONPATH所包含的路徑
原文鏈接:https://blog.csdn.net/sinat_37967865/article/details/103064424
相關(guān)推薦
- 2022-05-21 Python實現(xiàn)歸一化算法詳情_python
- 2024-04-07 MyBatis批量插入的五種方式(推薦MyBatis以集合方式批量新增)
- 2022-07-03 C#并行編程之PLINQ(并行LINQ)_C#教程
- 2022-10-17 React的diff算法核心復用圖文詳解_React
- 2022-10-22 Android深入分析屬性動畫源碼_Android
- 2022-09-15 golang?墻上時鐘與單調(diào)時鐘的實現(xiàn)_Golang
- 2023-02-28 css字體10px方法
- 2022-06-16 Python基礎之函數(shù)與控制語句_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支