質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

1612閲覧

追記Python 3.8.5を一つに統合したい。(不要な環境を削除して、一つの環境で全てのモジュールを使いたい。)

KotaroW

総合スコア4

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/31 11:00

編集2022/01/12 10:55

pyenv

1 system 2 3.7.5 3 3.8.0 4* 3.8.5 (set by /Users/wakatsukikoutarou/.pyenv/version) 5(base) se-p-11520:~ wakatsukikoutarou$ ~/.pyenv/shims/python -c 'import sys; print(sys.executable); print(sys.path)' 6/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/bin/python 7['', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python38.zip', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/lib-dynload', '/Users/wakatsukikoutarou/.local/lib/python3.8/site-packages', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/site-packages'] 8(base) se-p-11520:~ wakatsukikoutarou$ /usr/local/bin/python3 -c 'import sys; print(sys.executable); print(sys.path)' 9/usr/local/opt/python@3.8/bin/python3.8 10['', '/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python38.zip', '/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8', '/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload', '/Users/wakatsukikoutarou/Library/Python/3.8/lib/python/site-packages', '/usr/local/lib/python3.8/site-packages'] 11(base) se-p-11520:~ wakatsukikoutarou$ ~/.pyenv/versions/3.8.5/bin/python -c 'import sys; print(sys.executable); print(sys.path)' 12/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/bin/python 13['', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python38.zip', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/lib-dynload', '/Users/wakatsukikoutarou/.local/lib/python3.8/site-packages', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/site-packages'] 14 15 16追記致しました。 17 18``` 19which pythonでは 20``` 21/Users/wakatsukikoutarou/.pyenv/shims/python 22 23 24``` 25which python3では 26``` 27/Users/wakatsukikoutarou/.pyenv/shims/python3 28 29``` 30同じPythonなのですが、以下を実行したときのエラーの種類が違います。 31``` 32import tkinter 33from PIL import Image 34 35root = tkinter.Tk() 36root.title("Canvasに画像を描画する") 37canvas = tkinter.Canvas(width=480, height=300) 38canvas.pack() 39img_bg = tkinter.PhotoImage(file="park.png") 40canvas.create_image(240, 150, image=img_bg) 41root.mainloop() 42 43 44 45```①Python 3.8.5 64-bit 46~/.pyenv/shims/python 47``` 48/Users/wakatsukikoutarou/.pyenv/shims/python /Users/wakatsukikoutarou/Desktop/py2_samples/Chapter1/list0103_1.py 49Traceback (most recent call last): 50 File "/Users/wakatsukikoutarou/Desktop/py2_samples/Chapter1/list0103_1.py", line 1, in <module> 51 import tkinter 52 File "/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/tkinter/__init__.py", line 36, in <module> 53 import _tkinter # If this fails your Python may not be configured for Tk 54ModuleNotFoundError: No module named '_tkinter' 55 56``` 57②Python 3.8.5 64-bit 58/usr/local/bin/python3(tkinterはできている) 59``` 60/usr/local/bin/python3 /Users/wakatsukikoutarou/Desktop/py2_samples/Chapter1/list0103_1.py 61Traceback (most recent call last): 62 File "/Users/wakatsukikoutarou/Desktop/py2_samples/Chapter1/list0103_1.py", line 2, in <module> 63 from PIL import Image 64ModuleNotFoundError: No module named 'PIL' 65 66 67``` 68③Python 3.8.5 64-bit('3.8.5':pyenv) 69~/.pyenv/versions/3.8.5/bin/python 70``` 71/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/bin/python /Users/wakatsukikoutarou/Desktop/py2_samples/Chapter1/list0103_1.py 72Traceback (most recent call last): 73 File "/Users/wakatsukikoutarou/Desktop/py2_samples/Chapter1/list0103_1.py", line 1, in <module> 74 import tkinter 75 File "/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/tkinter/__init__.py", line 36, in <module> 76 import _tkinter # If this fails your Python may not be configured for Tk 77ModuleNotFoundError: No module named '_tkinter' 78 79 80 81 82```### 前提・実現したいこと 83 84現在、VScodeを使用していて、interprinter pathが 85①Python 3.8.5 64-bit 86~/.pyenv/shims/python 87 88②Python 3.8.5 64-bit 89/usr/local/bin/python3 90 91③Python 3.8.5 64-bit('3.8.5':pyenv) 92~/.pyenv/versions/3.8.5/bin/python 93 94の3つあります。②では、datetime等のあらかじめあるモジュールを使用できます。しかし、./.pyenv/versions/3.8.5/lib/python3.8/site-packagesにあるpillowという外部モジュールが使えません。③は、②の逆で、あらかじめあるモジュールが使えません。 95削除して、一つにまとめたいです。 96 97### 発生している問題・エラーメッセージ 98 99from PIL import Image, ImageFilter 100おそらくpillowのsite-packagesは③にあるのですが、普段使ってる②にないことによるエラーだと考えられます。 101 102### 該当のソースコード 103 104問題の欄に、Unable to import'PIL'だと表示される。①、②だとされるが、③は表示されない。しかし、③では他のimportが使えない。 105 106### 試したこと 107 108上記記載。 109 110### 補足情報(FW/ツールのバージョンなど) 111VScode 112MacOS Mojave 113Python3.8.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aokikenichi

2020/07/31 13:18

統合とは? 単に不要な環境をアンインストールしてしまえばいいのかと思うのですが アンインストールはできない(3つのPython環境とも用いる必要がある、単にアンインストール方法がわからない)ということでしょうか それとも3つを共存で1つの環境に入っているライブラリを別の環境でも使いたいということでしょうか
KotaroW

2020/07/31 13:46

私としては、外部モジュールなども一つの環境で使えるようにしたいです。 アンインストールの方法が分からない+環境を統合したいですかね.... よく分かってなくてすいません。
aokikenichi

2020/07/31 14:02

繰り返しで申し訳ないのですが 「アンインストールの方法が分からない+環境を統合」 がわかりません。 アンインストールの方法がわかれば2つは削除してもよいのでしょうか それ以上に「環境を統合」というなんか特別の環境を作られたいのでしょうか
KotaroW

2020/07/31 14:05

むしろありがとうございます。 上記の①と③を削除してしまって、./.pyenv/versions/3.8.5/lib/python3.8/site-packagesにあるpillowという外部モジュールを②で使えるようにしたいです。
quickquip

2020/07/31 14:42

にわかには信じがたい状況なので pyenv verions ~/.pyenv/shims/python -c 'import sys; print(sys.executable); print(sys.path)' /usr/local/bin/python3 -c 'import sys; print(sys.executable); print(sys.path)' ~/.pyenv/versions/3.8.5/bin/python -c 'import sys; print(sys.executable); print(sys.path)' のそれぞれの結果があるといいかと思います。
KotaroW

2020/07/31 14:55

そのコードを打ち込んでみたところ、 pyenv verions ~/.pyenv/shims/python -c 'import sys; print(sys.executable); print(sys.path)' /usr/local/bin/python3 -c 'import sys; print(sys.executable); print(sys.path)' ~/.pyenv/versions/3.8.5/bin/python -c 'import sys; print(sys.executable); print(sys.path)'(base) se-p-11520:~ wakatsukikoutarou$ pyenv verions pyenv: no such command `verions' (base) se-p-11520:~ wakatsukikoutarou$ ~/.pyenv/shims/python -c 'import sys; print(sys.executable); print(sys.path)' /Users/wakatsukikoutarou/.pyenv/versions/3.8.5/bin/python ['', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python38.zip', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/lib-dynload', '/Users/wakatsukikoutarou/.local/lib/python3.8/site-packages', '/Users/wakatsukikoutarou/.pyenv/versions/3.8.5/lib/python3.8/site-packages'] (base) se-p-11520:~ wakatsukikoutarou$ /usr/local/bin/python3 -c 'import sys; print(sys.executable); print(sys.path)' /usr/local/opt/python@3.8/bin/python3.8 ['', '/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python38.zip', '/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8', '/usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload', '/Users/wakatsukikoutarou/Library/Python/3.8/lib/python/site-packages', '/usr/local/lib/python3.8/site-packages'] (base) se-p-11520:~ wakatsukikoutarou$ ~/.pyenv/versions/3.8.5/bin/python -c 'import sys; print(sys.executable); print(sys.path)' このように出ました。調べてみたところ、pathがおかしいのかなと思いました。
quickquip

2020/07/31 15:07

pyenv versions のtypoでした。 最後の ~/.pyenv/versions/3.8.5/bin/python -c 'import sys; print(sys.executable); print(sys.path)' は実行してないですね。 情報はコードブロックを使って質問に追記してください(この欄には書かないでください)。 https://teratail.com/help/question-tips#questionTips3-5-1
KotaroW

2020/07/31 15:13

ありがとうございます。私の確認不足でした。
KotaroW

2020/07/31 15:14

同種の問題を抱えている人が見つからず困り果てています。
quickquip

2020/07/31 15:38 編集

冒頭の(base)が不安です which python which python3 の結果はどうなりますか? あと、最後の ~/.pyenv/versions/3.8.5/bin/python -c 'import sys; print(sys.executable); print(sys.path)' の後でEnterを押すと実行されませんか?
KotaroW

2020/07/31 15:45

ありがとうございます。実行され、そして上に追記致しました。
quickquip

2020/08/01 03:28

考えても調べても > Unable to import'PIL'だと表示される。①、②だとされるが、③は表示されない。しかし、③では他のimportが使えない。 ということがちょっと信じられない(結果が出ている)のですが、これを調べた時の手順を書いてもらってもいいですか。 それともこの部分は横に置いておいて「何もする必要はないのでそのまま使いましょう」という主旨の回答を書いた方がいいのでしょうか。
KotaroW

2020/08/01 08:56

一緒に調べていただき有り難うございます。tkinterとPILを同時に使うことができる環境が現在ないので、それについて追記致します。
quickquip

2020/08/02 00:37

もしかして解決したい「本当の問題」は「③でtkinterが使えない」ですか?
KotaroW

2020/08/02 23:47

はい。③でtkinterが使うことが出来れば万事解決だと思っております。
quickquip

2020/08/03 00:38

from PIL import Image, ImageFilter このimport文がTck/Tkがないとエラーになるものだったらよかったかと。
guest

回答1

0

macOSでpyenvを使ってビルドした場合、Tck/Tk が有効にはなりません。

https://github.com/pyenv/pyenv/pull/1397
1年前ぐらいにこちらのプルリクエストが採用されています。
3.8.5がビルドできているならこれがマージされたpyenvを使っていると思います。

"Homebrewでインストールされた Tcl/Tk"を使うようにビルドするためのオプションは

https://github.com/pyenv/pyenv/issues/1375#issuecomment-660686591

こちらが参考になります。(この#1375のissueが状況を把握するのによいです)

3.8.5をビルドし直すか3.8.4あたりをビルドして環境を整えるかするとよいでしょう。

投稿2020/08/03 00:37

編集2020/08/03 00:40
quickquip

総合スコア11029

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KotaroW

2020/08/05 16:26

回答が遅くなり申し訳ありません。とても丁寧な回答ほんとうにありがとうございます。 時間をかけて用語から学びつつ進めたいと思います。Tryしてみます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問