MacでPythonを削除して再インストールします—これらの古い参照を信頼できますか?


36

私はMacが初めてで、どうやら間違いを犯したようです。私はPythonをチュートリアルを通して、そしてHomebrew、Pip、XCodeの間で何らかの形で私のバージョンがすべて混ざっています。Pip3はpython2を指しているため、私のpython3トライアルはすべて失敗します...

すべてのバージョンを安全に削除し、クリーンインストール(homebrew?)のために撮影する方法を研究していますが、少し緊張しています。

私はいくつかの素晴らしいリンクを見つけました:

明らかに、ルート/systemディレクトリにあるものには何も触れず、基本的に他のすべてが削除されます。私を不安にさせているのは、このリンクがかなり古くなっているということです。(6年!+)本当に信頼しているかどうかはわかりません。

誰か最近ここに来たの?上記リンクの投稿を信頼できますか?このPythonバージョンの混乱をクリーンアップするにはどうすればよいですか?注:MacOS Sierra(10.12.5)を使用しています

回答:


34

だから、私はすべてのPythonインストールを削除し、Homebrew経由で物事を再インストールすることになりました。

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python からPython.frameworkディレクトリ全体を削除し/Library/Frameworksます。
  2. which python3---> /usr/local/bin/python3 python3ディレクトリ全体を削除します。
  3. 私はシンボリックリンクについて少し緊張していました。最初に、明らかにトラブルの原因となるものの名​​前を変更しました。不要だったことがわかりました。代わりに、次を使用します。

    $ brew doctor
    Warning: Broken symlinks were found. Remove them with 'brew prune':
      /usr/local/bin/python-32
      /usr/local/bin/python2-32
      /usr/local/bin/python2.7-32
      /usr/local/bin/python2_DNU
      /usr/local/bin/python_DNU
      /usr/local/bin/pythonw-32
      /usr/local/bin/pythonw2-32
      /usr/local/bin/pythonw2.7-32

    したがって、brew prune(またはbrew cleanup --pruneHomebrewの新しいバージョンでは)完全に機能しました。上記のすべてのシンボリックリンクを削除しました。

  4. homebrew経由でpythonとpython3を再インストールします。出来た。

/Systemフォルダー内にあるPythonのインストールに手を触れませんでした。

ああ、明確にするために。元の質問に対する答えは

はい、書かれているように、古いリファレンスを信頼できます!そのガイダンスはまだ有効です。


@nohillside thxしかし..ここでコメントとして編集を促したXXXXからの最近の入力を簡単に確認できたかもしれません。あなたにとって奇妙な帰属ミスのようです。newbyはコメントを投稿できませんか?そして今、私は自分でそれを行うために提出名を見ることができません。
zipzit

属性を取得するための最良の方法は、編集が必要な場合に実際に投稿を編集することです。これは、すべてのユーザー(匿名のユーザーも含む)が実行できます。ユーザーが改善コメントを回答として投稿することを選択した場合、私は通常それらを関連する投稿に編集します。
nohillside

自作バージョンのpythonには、Xcodeや、最後にチェックしたチゼルのようなツールのサポートは含まれません。したがって、これは通常お勧めできません。
nyteshade

ただ、言及に/System/Library/Frameworks/Python.framework/、リンク削除しないではいけませんdocs.python.org/3/using/mac.html
ivan.proskuryakov

新しいバージョンでは、クリーンアップが行われました
GraphicalDot

5

私のPythonバージョンは3.6でしたが、3.7にアップグレードしたかったのです(同様の要件がある場合)。私はmacOSバージョン10.12.6を使用しており、アンインストールと再インストールがうまくいきました:

brew uninstall --ignore-dependencies python3

次に:

brew install python3

そして完了:

python3
Python 3.7.2 (default, Jan 13 2019, 12:51:54) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

これは私にとってはうまくいきました。私は調整する必要がなかったipython点へのpythonの醸造バージョンに-手動で起動スクリプトを編集して、パスを
javadba

0

システムファイルは、System Integrity Protectionによって保護されています。rm -rf最初にSIPを無効にしないと、これらの指示に従って/ System内のランダムなフォルダーに移動することはできません。

ただし、ファイルは保護されているため、ファイルは変更されていません。「バージョンの混乱」はシェルのセットアップが原因であり、システムファイルを変更しても変更されません。macOSに存在することが保証されているこれらのファイルには触れないでください。

Homebrewは/ usr / local / Cellarに個別にインストールされます。Homebrewを使用してPythonインストールを管理し、システムインストールを完全に無視します。


はい、それら2つの参照を信頼しても大丈夫ですか、それとも信頼しませんか?これらのリファレンスは高品質で、十分な理由があり、かなり詳細に説明されています。
zipzit

1
@zipzitあなたそれら信頼することができます、それらは動作しません-それは2つの別個のものです。コンテンツは信頼できます。macOSの最新バージョンで試してみてください。何の害もありませんが、この回答で示されている理由により、機能しません。システムのPythonインストールを削除するためだけにSIPを無効にしないことを強くお勧めします(これが手順にリンクしていない理由です)。これは問題の実際の原因ではなく、プロセスのさらなる問題を引き起こす可能性があるため、何も解決する助けにはなりません。
GRG

あなたの答えは私には意味がありません。におけるタッチのものの上にリンクされ、品質の回答なし/system。None = Not One、Zero、Zip、Nada。1)アプリケーションフォルダーのPython 3.3フォルダーで削除するものがあります。2)/Library/Frameworks/Python.framework 3)〜/ usr / local / binに20個のシンボリックリンク。4)シェルパス内の参照(存在する場合)。これらのどれもがあなたが話している保護に当たるとは思いません。私は何が欠けていますか?
zipzit

@zipzitかなり前に、Pythonは/ Libraryから/ System / Libraryに移動されたため、システムインストールを削除するために/ Systemに触れます。システムPythonフレームワークは、/ Libraryではなく、/ System / Library / Frameworks / Python.frameworkにあります。
GRG

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3加えてpython System/Library/Frameworks/Python.framework/Versions/...
2.3、2.4、2.5、2.7
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.