こんにちは。
python、パッケージ管理共に初心者のものです。
前提・実現したいこと
自分の開発環境?は、macOS Catalina, python3.7.4です。
python3(idle)でFlaskをインポートして使えるように、以下のコードが動くようにしたいです。
発生したエラー・できないこと
idleで以下のコードを実行すると
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "Hello, World!" app.run(port=8000)
次のようなエラーが出て結果が表示されませんでした
Traceback (most recent call last): File "/Users/名前/Documents/flask.py", line 1, in <module> from flask import Flask File "/Users/名前/Documents/flask.py", line 1, in <module> from flask import Flask ImportError: cannot import name 'Flask' from 'flask' (/Users/gaoyuanxiangxi/Documents/flask.py)
試してみたこと
ちゃんとFlaskをインストールできてないのではと思い、一度アンインストールしてみました。
sudo pip uninstall Flask WARNING: The directory '/Users/名前/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
上のようなwarningが出たのですが、アンインストールは成功したので、とりあえずもう一度インストールしてみようと思い最初インストールしたコードと同じコードで再インストールしました。
sudo pip install Flask WARNING: The directory '/Users/名前/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. WARNING: The directory '/Users/名前/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
この後もう一度idleで一番上のコードを実行しましたが、また、同じエラーが出てしまいました。
その後も、sudo -H pip install Flask で再インストールしたり、自分で調べてみたのですが結果は変わりませんでした。
どうすればFlaskを使えるようになるでしょうか?また、ターミナルで出てくるWarningは何なのでしょうか。
回答よろしくお願いいたします。
補足
次のような手順でFlaskをインストールしたり、アンインストールして再インストールしてみたりしました。
sudo pip install Flask
次に一度アンインストールしようと思い、
pip uninstall Flask
しかし
ERROR: Exception: Traceback (most recent call last): File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/shutil.py", line 566, in move os.rename(src, real_dst) PermissionError: [Errno 13] Permission denied: '/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/Flask-1.1.1.dist-info/' -> '/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/~%ask-1.1.1.dist-info' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 188, in main status = self.run(options, args) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/pip/_internal/commands/uninstall.py", line 75, in run auto_confirm=options.yes, verbose=self.verbosity > 0, File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 831, in uninstall uninstalled_pathset.remove(auto_confirm, verbose) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/pip/_internal/req/req_uninstall.py", line 388, in remove moved.stash(path) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/pip/_internal/req/req_uninstall.py", line 277, in stash renames(path, new_path) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/site-packages/pip/_internal/utils/misc.py", line 402, in renames shutil.move(old, new) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/shutil.py", line 578, in move rmtree(src) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/shutil.py", line 494, in rmtree _rmtree_safe_fd(fd, path, onerror) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/shutil.py", line 452, in _rmtree_safe_fd onerror(os.unlink, fullname, sys.exc_info()) File "/usr/local/var/pyenv/versions/3.7.4/lib/python3.7/shutil.py", line 450, in _rmtree_safe_fd os.unlink(entry.name, dir_fd=topfd) PermissionError: [Errno 13] Permission denied: 'RECORD'
このようなエラーが出てしまい、sudo pip uninstall Flask ならどうだろうと試したら、一応アンインストールできました。
その後、```
sudo -H pip install Flask
pip install Flask
などで入れ直したりしてみましたが、うまくいかず結局もう一度 sudo でアンインストールして、
sudo pip install Flask
で入れているということになっています。 ### 追記 python3は、pyenvで入れました。 pyenvはこのサイト https://qiita.com/crankcube@github/items/15f06b32ec56736fc43a に従い、homebrewで入れました。 pyenvは、サイトに従い .bash_profileに
cat << 'EOS' >> ~/.bash_profile
pyenvさんに~/.pyenvではなく、/usr/loca/var/pyenvを使うようにお願いする
export PYENV_ROOT=/usr/local/var/pyenv
pyenvさんに自動補完機能を提供してもらう
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
EOS
このように書き込みました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/14 13:09
2019/10/14 13:24 編集
2019/10/14 13:36 編集
2019/10/14 13:37
2019/10/14 13:41
2019/10/14 14:15 編集
2019/10/14 14:37
2019/10/14 14:43 編集
2019/10/14 14:49
2019/10/14 15:11
2019/10/14 15:26
2019/10/14 15:37
2019/10/14 23:55
2019/10/15 04:09 編集
2019/10/15 04:27
2019/10/15 04:47