亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 bash 中導入包而不出現 ModuleNotFoundError

如何在 bash 中導入包而不出現 ModuleNotFoundError

有只小跳蛙 2023-07-27 09:44:30
當我在 .sh 文件中運行 python 文件時,出現錯誤“ModuleNotFoundError”。首先這是目錄結構。- my_project/--- common_lib/----- __init__.py----- my_module.py--- dir_1/----- test.py----- test.sh這是每個文件的內容。common_lib/初始化.pydef test_func():    print(1)common_lib/my_module.pydef module_func():    print("This is module.")dir_1/test.pyimport common_lib as clcl.test_func()dir_1/test.sh#!/usr/bin/env bashpython test.py當我使用“vs code”或“pycharm”等編輯器直接運行test.py文件時,我得到了正確的結果“1”。但是當我運行 test.sh 文件時,出現以下錯誤。ModuleNotFoundError:沒有名為“common_lib”的模塊在這種情況下,如何導入 python 包而不出現“無模塊錯誤”?
查看完整描述

1 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

將(空)__init__.py放入包根目錄以及所有子目錄中。然后您可以將腳本作為模塊調用dir_1:


.

├── __init__.py

├── common_lib

│? ?└── __init__.py

└── dir_1

? ? ├── __init__.py

? ? ├── test.py

? ? └── test.sh

test.sh:


#!/usr/bin/env bash

cd .. && python -m dir_1.test

輸出:


./test.sh

1


查看完整回答
反對 回復 2023-07-27
  • 1 回答
  • 0 關注
  • 211 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號