回答編集履歴
2
誤字
answer
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
#### 1. 対策
|
2
|
+
自分で書いた unmo.py を import したいという認識でよろしいでしょうか?
|
3
|
+
であれば先頭にドット . の無い **絶対 import** に書き換えて見てください。
|
4
|
+
```
|
5
|
+
from unmo import Unmo
|
6
|
+
```
|
7
|
+
|
8
|
+
#### 2. 原因
|
2
9
|
先頭にドット . がついた import は **相対 import** と呼ばれるものです。
|
3
10
|
相対 import は**パッケージの中でしか実行できません**。
|
4
11
|
```
|
5
12
|
from .unmo import Unmo
|
6
13
|
```
|
7
14
|
|
8
|
-
これを **絶対 import** に書き換えてください。
|
9
|
-
```
|
10
|
-
from unmo import Unmo
|
11
|
-
```
|
12
|
-
|
13
|
-
#### 2. 原因
|
14
15
|
次のように実行したとき。
|
15
16
|
ファイル名.py は、「スクリプト」として実行されます。
|
16
17
|
ファイル名.py は、「パッケージ」では無いので相対 import は使えないということです。
|
1
誤字
answer
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
#### 1.
|
1
|
+
#### 1. 対策
|
2
|
-
先頭にドット . がついた import は相対 import と呼ばれるものです。
|
2
|
+
先頭にドット . がついた import は **相対 import** と呼ばれるものです。
|
3
3
|
相対 import は**パッケージの中でしか実行できません**。
|
4
4
|
```
|
5
5
|
from .unmo import Unmo
|
6
6
|
```
|
7
7
|
|
8
|
-
これを絶対 import に書き換えてください。
|
8
|
+
これを **絶対 import** に書き換えてください。
|
9
9
|
```
|
10
10
|
from unmo import Unmo
|
11
11
|
```
|
@@ -24,7 +24,8 @@
|
|
24
24
|
|
25
25
|
#### 3. 確認したこと
|
26
26
|
相対 import をしているスクリプトを実行したところ
|
27
|
+
完全に一致するわけでは無いのですが
|
27
|
-
|
28
|
+
似たようなエラーが発生することを確認しました。
|
28
29
|
```
|
29
30
|
# sample.py というファイルを作り
|
30
31
|
from .unmo import Unmo
|
@@ -33,7 +34,7 @@
|
|
33
34
|
$ # 実行してみる
|
34
35
|
$ python sample.py
|
35
36
|
Traceback (most recent call last):
|
36
|
-
File "
|
37
|
+
File "sample.py", line 1, in <module>
|
37
38
|
from .unmo import Unmo
|
38
39
|
ModuleNotFoundError: No module named '__main__.unmo'; '__main__' is not a package
|
39
40
|
$
|