Python3即使在使用__init__.py之后也會出現包導入錯誤

我有以下structure:-

Test
├── package1
│   └── script1.py
│   └── __init__.py
├── package2
    └── script2.py
    └── __init__.py

我想從script2.py導入script1.py,并擁有tried:-

from package1.script1 import *

我正在從linux終端運行腳本python3script2.py,但這似乎不起作用,我得到ModuleNotFoundError:沒有名為“package1”的模塊。我該怎么解決這個問題?

? 最佳回答:

理想情況下,您應該從頂級包(導入和/或運行啟動整個應用程序的代碼)運行python腳本,如下所示:

Test
├── package1
│   └── script1.py
│   └── __init__.py
├── package2
|   └── script2.py
|   └── __init__.py
|___ run.py

然后運行python3 run.py

導入from package1.script1 import *時,您對Python說的是從運行主腳本的路徑搜索包。因此,它假設您正在從package2搜索package1。如果將package1放在package2內并運行python3 script2.py,它也會工作。

Test
├── package2
    ├── package1
    │   └── script1.py
    │   └── __init__.py
    └── script2.py
    └── __init__.py

如果您仍然希望使用相同的目錄結構從script2運行,那么您必須在Test目錄中運行python3 package2/script2.py,或者修改python路徑。

主站蜘蛛池模板: 日韩中文字幕精品免费一区| 精品女同一区二区三区免费站| 日韩精品无码人妻一区二区三区| 亚洲国产精品一区二区第四页| 亚洲性无码一区二区三区| 日韩精品无码人妻一区二区三区 | 精品一区二区三区免费视频| 精品无码人妻一区二区三区| 丝袜人妻一区二区三区网站| 日韩在线观看一区二区三区| 男插女高潮一区二区| 末成年女A∨片一区二区| 亚洲AV综合色区无码一区| 国精产品一区一区三区免费视频 | 中文字幕在线无码一区| 国模精品一区二区三区视频| 国模无码一区二区三区| 亚洲大尺度无码无码专线一区| 亚洲国产成人精品无码一区二区 | 日本香蕉一区二区三区| 国产91大片精品一区在线观看| 久久精品午夜一区二区福利| 亚洲av鲁丝一区二区三区| 国产内射999视频一区| 国产成人无码精品一区二区三区| 亚洲色精品vr一区二区三区| 国产一区二区三区免费| 人妻少妇精品视频一区二区三区| 无码国产精品一区二区免费vr| 无码人妻AV免费一区二区三区 | V一区无码内射国产| 国产精品福利区一区二区三区四区| 精品乱码一区二区三区在线| 国产天堂在线一区二区三区 | 91精品国产一区二区三区左线 | 久久久精品一区二区三区| 日本精品一区二区三区在线观看| 无码国产伦一区二区三区视频 | 一区二区三区免费在线视频| 一区二区高清在线| 国产综合一区二区|