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

回答編集履歴

1

2022年12月現在の解決方法の追記

2022/12/17 03:39

投稿

Demerara
Demerara

スコア397

answer CHANGED
@@ -1,31 +1,38 @@
1
- 解決しました。
1
+ 解決しました。
2
-
2
+
3
- 以下の記事が参考になりました。
3
+ 以下の記事が参考になりました。
4
- https://www.lucypark.kr/blog/2013/02/10/when-python-imports-and-ipython-does-not/
4
+ https://www.lucypark.kr/blog/2013/02/10/when-python-imports-and-ipython-does-not/
5
-
5
+
6
- 一時的な解決方法は自分で追記した方法と同じです。
6
+ 一時的な解決方法は自分で追記した方法と同じです。
7
-
7
+
8
- これを自動的に実行してもらうため、ipythonの設定ファイルを作成
8
+ これを自動的に実行してもらうため、ipythonの設定ファイルを作成
9
- ```Powershell
9
+ ```Powershell
10
- $ ipython profile create
10
+ $ ipython profile create
11
- $ ipython locate
11
+ $ ipython locate
12
- /Users/username/.ipython
12
+ /Users/username/.ipython
13
- ```
13
+ ```
14
-
14
+
15
- `profile_default/ipython_config.py`を開き次の記述を追加
15
+ `profile_default/ipython_config.py`を開き次の記述を追加
16
- ```python
16
+ ```python
17
- c.InteractiveShellApp.exec_lines = [
17
+ c.InteractiveShellApp.exec_lines = [
18
- 'import sys; sys.path.append("/usr/local/lib/python2.7/site-packages")'
18
+ 'import sys; sys.path.append("/usr/local/lib/python2.7/site-packages")'
19
- ]
19
+ ]
20
- ```
20
+ ```
21
-
21
+
22
- これで自動的に仮想環境内のモジュールにパスが通ります。
22
+ これで自動的に仮想環境内のモジュールにパスが通ります。
23
-
23
+
24
- ただし、原因と理由、今後の対処法はわからずじまいです。
24
+ ただし、原因と理由、今後の対処法はわからずじまいです。
25
- 新たに仮想環境を作成するたび、ここにパスを追加する必要があるということですよね?
25
+ 新たに仮想環境を作成するたび、ここにパスを追加する必要があるということですよね?
26
- 毎回そんなことするの面倒じゃないですか?
26
+ 毎回そんなことするの面倒じゃないですか?
27
-
27
+
28
- なんで自動的に仮想環境認識してくれないんでしょうか…
28
+ なんで自動的に仮想環境認識してくれないんでしょうか…
29
-
29
+
30
- とりあえず表題の件としては解決したのでこれで終わりたいと思います。
30
+ とりあえず表題の件としては解決したのでこれで終わりたいと思います。
31
- 再度別件として質問するかもしれませんが、その際はよろしくお願いします。
31
+ 再度別件として質問するかもしれませんが、その際はよろしくお願いします。
32
+
33
+ 2022/12/17: 追記
34
+ 現在は、vscode の設定ファイルに、`"python.defaultInterpreterPath": ".venv\\Scripts\\python.exe"` を追加し、全ての仮想環境名を `.venv` とすることで、解決できています。
35
+
36
+ 上記の `ipython` ファイルに触れる必要はなくなりました。
37
+
38
+ ちなみに、仮想環境は `python -m venv` をやめ、現在は [poetry](https://python-poetry.org/) で作成しています。