teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2018/08/05 12:33

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -28,7 +28,10 @@
28
28
 
29
29
  この2つのコマンドの動作の違いは、[6.1.2. モジュール検索パス](https://docs.python.jp/3/tutorial/modules.html#the-module-search-path)の以下の部分です。
30
30
  > 入力されたスクリプトのあるディレクトリ (あるいはファイルが指定されなかったときはカレントディレクトリ)。
31
+ ~中略
32
+ スクリプトファイルを含むディレクトリが検索パスの先頭、標準ライブラリパスよりも前に追加されます。なので、ライブラリのディレクトリにあるファイルよりも、そのディレクトリにある同じ名前のスクリプトが優先してインポートされます。
31
33
 
34
+
32
35
  `selenium`フォルダにある`__init__.py`ファイルにより`selenium`フォルダが[6.4. パッケージ](https://docs.python.jp/3/tutorial/modules.html#packages)化されて
33
36
  モジュールの解決に影響を与えました。
34
37
 

3

まちがっってたあああ

2018/08/05 12:33

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -17,7 +17,6 @@
17
17
  例外スタックトレースによるとプログラム階層が以下になります。
18
18
  ```Python
19
19
  XXXX
20
- +- __init__.py # 質問文の"moduleとして実行しても変わらず"の記載により導出できるファイルです。(※質問者様以外への説明です。)
21
20
  +- test_ut.py
22
21
  +- selenium
23
22
  +- webtest1.py

2

追記

2018/08/05 07:05

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -17,6 +17,7 @@
17
17
  例外スタックトレースによるとプログラム階層が以下になります。
18
18
  ```Python
19
19
  XXXX
20
+ +- __init__.py # 質問文の"moduleとして実行しても変わらず"の記載により導出できるファイルです。(※質問者様以外への説明です。)
20
21
  +- test_ut.py
21
22
  +- selenium
22
23
  +- webtest1.py

1

追記

2018/08/05 06:56

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -3,6 +3,33 @@
3
3
  グーグル翻訳
4
4
  ImportError:名前 'webdriver'をインポートできません
5
5
 
6
- > File "/ababa/selenium/webtest1.py", line 2, in <module>
6
+ > File "/XXXX/selenium/webtest1.py", line 2, in <module>
7
7
 
8
- ディレクトリ名が`selenium`モジュールとかぶっています。別の名前に変更してくださいな。
8
+ ディレクトリ名が`selenium`モジュールとかぶっています。別の名前に変更してくださいな。
9
+
10
+ ---
11
+ ◇補足説明
12
+ > File "/XXXX/test_ut.py", line 2, in <module>
13
+ > import selenium.webtest1
14
+ > File "/XXXX/selenium/webtest1.py", line 2, in <module>
15
+ > from selenium import webdriver
16
+
17
+ 例外スタックトレースによるとプログラム階層が以下になります。
18
+ ```Python
19
+ XXXX
20
+ +- test_ut.py
21
+ +- selenium
22
+ +- webtest1.py
23
+ +- __init__.py # ←質問文に記載がないのですが、このファイルがあるのでは?。
24
+ ```
25
+
26
+ > python36 selenium/webtest1.py
27
+ > python36 test_ut.py
28
+
29
+ この2つのコマンドの動作の違いは、[6.1.2. モジュール検索パス](https://docs.python.jp/3/tutorial/modules.html#the-module-search-path)の以下の部分です。
30
+ > 入力されたスクリプトのあるディレクトリ (あるいはファイルが指定されなかったときはカレントディレクトリ)。
31
+
32
+ `selenium`フォルダにある`__init__.py`ファイルにより`selenium`フォルダが[6.4. パッケージ](https://docs.python.jp/3/tutorial/modules.html#packages)化されて
33
+ モジュールの解決に影響を与えました。
34
+
35
+ IDE(`Pycharm community edition`)などを使用すると、こういうトラブルは防げるかと。