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

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

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

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

Q&A

解決済

virtualenvをアンインストールしたい。PermissionError: Cannot move the non-empty directoryを解決する方法

kaerutyan
kaerutyan

総合スコア2

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。

1回答

0グッド

0クリップ

362閲覧

投稿2022/11/10 12:08

編集2022/11/10 12:18

前提

はじめまして。PC初心者です。ターミナルでの言語や基本的な操作がわかっていないので、コマンドを調べながら操作している状態です。普段はanacondaを使用しているのですがvenvの仮想環境を作ってみたいと思い、

sudo pip3 install virtualenv

でvirtualenvの20.16.6をインストールいたしました。
このvirtualenvを削除しようと

pip3 uninstall virtualenv

を入力し

Found existing installation: virtualenv 20.16.6

と表示されました。

Would remove: /Library/Python/3.9/site-packages/virtualenv-20.16.6.dist-info/* /Library/Python/3.9/site-packages/virtualenv/* /usr/local/bin/virtualenv Proceed (Y/n)? y

でyを押したところ、以下のようなエラーが発生し削除することができませんでした。

実現したいこと

以下のエラーを解消し、virtualenvをアンインストールする

発生している問題・エラーメッセージ

以下のようなエラーが表示されてしまいました。

ERROR: Exception: Traceback (most recent call last): File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py", line 806, in move os.rename(src, real_dst) PermissionError: [Errno 13] Permission denied: '/Library/Python/3.9/site-packages/virtualenv-20.16.6.dist-info/' -> '/private/var/folders/m2/zczpxzpj2msfwzly99jl5lnc0000gn/T/pip-uninstall-51rh_qb2' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/cli/base_command.py", line 173, in _main status = self.run(options, args) File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py", line 93, in run uninstall_pathset = req.uninstall( File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/req/req_install.py", line 633, in uninstall uninstalled_pathset.remove(auto_confirm, verbose) File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py", line 384, in remove moved.stash(path) File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py", line 281, in stash renames(path, new_path) File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages/pip/_internal/utils/misc.py", line 331, in renames shutil.move(old, new) File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/shutil.py", line 819, in move raise PermissionError("Cannot move the non-empty directory " PermissionError: Cannot move the non-empty directory '/Library/Python/3.9/site-packages/virtualenv-20.16.6.dist-info/': Lacking write permission to '/Library/Python/3.9/site-packages/virtualenv-20.16.6.dist-info/'.

試したこと

conda uninstall virtualenv

では

Collecting package metadata (repodata.json): done Solving environment: failed PackagesNotFoundError: The following packages are missing from the target environment: - virtualenv

となりました。

sudo pip3 uninstall virtualenv

では、こちらのような警告文が表示され削除できませんでした。

WARNING: The directory '/Users/******/Library/Caches/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag. WARNING: Skipping virtualenv as it is not installed. WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

上記エラー文で下の方に表示されている、以下の部分が問題なのではないかと考えたのですが、この部分に対しどのような対応をすればよろしいでしょうか。(アンインストールでいない原因に関係がないようでしたらすみません、無視してください。)

https://qiita.com/darianus/items/c30f755e6f51e79a3a01
こちら参考にさせていただいたのですが、初心者で削除等の操作に対して自信がないので対応する際に使用するコードについても併せて教えていただけると非常にありがたいです。

PermissionError: Cannot move the non-empty directory '/Library/Python/3.9/site-packages/virtualenv-20.16.6.dist-info/': Lacking write permission to '/Library/Python/3.9/site-packages/virtualenv-20.16.6.dist-info/'.

追記:

which virtualenv

では、

/usr/local/bin/virtualenv

と表示されました。

補足情報(FW/ツールのバージョンなど)

macOS Montereyのバージョン12.6を使用しております。
ターミナルで確認したバージョンはPython 3.7.3です。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

quickquip

2022/11/10 23:59 編集

sudo pip3 uninstall virtualenv の警告、Skipping virtualenv as it is not installed. は 「インストールされてなかった」ということですよね。 そのpip3はどこから消そうとしたのですか? そこにインストールされていたのですか? ---- どうして /usr/local/bin に virtualenv があるのか把握されていますか? (=どうインストールしてそこに入ったか覚えていますか?) ls -l /usr/local/bin/virtualenv head -n1 /usr/local/bin/virtualenv などでなんのPythonに紐付いたvirtualenvか確認してみてください。
kaerutyan

2022/11/11 07:59

コメントありがとうございます。 >>そのpip3はどこから消そうとしたのですか? そこにインストールされていたのですか? /usr/local/binにあるものを消そうとして実行していました。(おそらく自分で入れたもの) pip3 list, pip listで確認したところ、virtualenvはpip3やpipには入っていないことがわかりました。 インストールする時に sudo pip3 install virtualenvでインストールしたので、そこに入っているものだと思ってしまっていました、、すみません。 >>どうして /usr/local/bin に virtualenv があるのか把握されていますか? (=どうインストールしてそこに入ったか覚えていますか?) この理由なのですが、どうやら自分でインストールする時にsudoをつけてインストールしてしまったことでインストール先が /usr/local/binになってしまったようです。 (意味がよくわかっていなかった状態でOKしてしまったのですが、sudo pip3 install virtualenvを実行するときに、インストール先が /usr/local/binになるという趣旨の警告が出ていたように思われます、、。) (こちらのサイトに、 https://endy-tech.hatenablog.jp/entry/never_execute_sudo_pip 「sudoをつけるとPATHの再読込が発生することで、仮想環境の外に出てしまいます。 更に、管理者権限でpip installを実行すると、--userをつけたときのような~/.local/配下ではなく、/usr/local/配下にインストールしてしまいます。」とありました。) 教えていただいたコードを実行してみたところ、このようになりました。 (base) *****@***** ~ % ls -l /usr/local/bin/virtualenv -rwxr-xr-x 1 root wheel 273 11 10 19:09 /usr/local/bin/virtualenv (base) *****@***** ~ % head -n1 /usr/local/bin/virtualenv #!/Library/Developer/CommandLineTools/usr/bin/python3

回答1

0

ベストアンサー

/usr/local/bin/virtualenv と 紐付いてるPythonが /Library/Developer/CommandLineTools/usr/bin/python3 なので、明に指定してpipを動かして

sehll

1sudo /Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --force-reinstall virtualenv 2sudo /Library/Developer/CommandLineTools/usr/bin/python3 -m pip uninstall virtualenv

で該当のvirtualenvは消せるかなと思いました。

投稿2022/11/11 12:21

quickquip

総合スコア10432

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

kaerutyan

2022/11/12 03:34

コマンドまで丁寧に教えていただき、ありがとうございました。無事に消すことができました。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

MacOS(OSX)

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

pip

pipとは、Pythonを用いて書かれているパッケージソフトのインストールや管理を行うためのパッケージマネジメントシステムです。pipを使う主なメリットは、コマンドラインインターフェースにて容易にPythonパッケージソフトをインストール可能だという点です。