[Python]2系3系が混ざった環境の整理整頓で困った話(libimobiledevice,libxml2,ideviceinstallerなど)

困っていた環境

  • Python2とPython3の両方をインストールしていた。

やりたかったこと

  • Mac環境を純粋なPython3のみの環境にしたい
  • Python2を消したい
  • Python3も複数のインストール方法をおこなっていたため環境が壊れていたので整理したい

Python2のアインインストール

※注意:
Python2は、MacのSystem library にも含まれており、手作業などで誤って削除してしまうとリカバリディスクなどから復元しないとシステムがうまく動かない(例えばXCodeとか)ようになります。
"/System/Library/Frameworks/"配下はいじらないようにしましょう。

Python2は、本家のをインストールしていました。(brewではない)
アインインストールは、以下を参考に実行しました。
コマンドないのかな。。。

参考:本家Pythonのアンインストール for Mac

Python3のアインインストール

brewでインストールしていたので、アンインストール

$ brew uninstall python3
Error: Refusing to uninstall /usr/local/Cellar/python/3.7.2_2
because it is required by libimobiledevice and libxml2, which are currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies python3

なにやら依存関係のエラーが。
libimobiledevice と libxml2。なんぞこれ。
さらにいうと、libimobiledeviceは、ideviceinstallerに紐づいていました。

参考:1.1. libxml2とは

・・・と調べても調べても、きりがない。
もう、brewから再インストールすることにしました。

brewの再インストール、Pythonのインストール

  • アンインストール

    $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mast
  • インストール

    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    参考:公式 Homebrew

  • Pythonもインストール

    $ brew install python
    〜〜〜略〜〜〜
    Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
    `python3`, `python3-config`, `pip3` etc., respectively, have been installed into
    /usr/local/opt/python/libexec/bin
    〜〜〜略〜〜〜

"python3"は/usr/local/binに置いてくれるのに、"python"のシンボリックリンクは作ってくれないらしい。
上記のlibexecのパスを ~/.bash_profile で PATH に追加するか、どこかPATHに設定されている場所(/usr/local/bin/ あたり)にコピーするかやってあげる必要があるみたい。

他のサイトだとそんな説明なかったような気がするけど。

コメント

タイトルとURLをコピーしました