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

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

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

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

MacOS(OSX)

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

Q&A

解決済

2回答

442閲覧

Macに python3をインストールした後の xgboost がインストール出来なく苦慮しています。

akakage13

総合スコア89

Python 3.x

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

MacOS(OSX)

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

1グッド

0クリップ

投稿2018/03/11 03:43

Mac の超初心者でございます。

python3の環境で xgboost をインストールしてみたのですが、うまく出来ません。

Mac のデフォルトの python2.7 では、ネットで調べて、xgboostをインストールする事が出来ました。

しかしながら、小生の目的は、python3.5環境下で xgboostをインストールする事です。

以下にお示しさせていただきますモノは、全て、ターミナル上のものでございます。

>>> quit() y********:~ y********$ python3 -m brew install gcc@5 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3: No module named brew y**********:~ y********$ brew install gcc@5 Updating Homebrew...

python3 でインストールする事を明確にするために、上記のスタイル $ python3 -m

を巻頭につけて、いろいろ試しました。

Warning: gcc@5 5.5.0_2 is already installed y*******a:~ yamadasatoru$ pip install xgboost

上記のスクリプトは python2.7には既にxgboostはインストール済みと承知の上で、 python3かどうか、わからないまま、ネットで調べたままに、python3 -m をつけないで、動かしたものでございます。

Requirement already satisfied: xgboost in /Library/Python/2.7/site-packages/xgboost-0.7-py2.7.egg Requirement already satisfied: numpy in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from xgboost) Requirement already satisfied: scipy in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from xgboost)

結果は、既にインストール済みとのことで、予想通りでした。

今度は、python3 -m と 明確にpython3 にインストールしたいと意思表示をしてから
動かしてみました。

y***********a:~ y**********$ python3 -m pip install xgboost Collecting xgboost Using cached xgboost-0.7.post3.tar.gz Complete output from command python setup.py egg_info: ++ pwd + oldpath=/private/var/folders/cj/6n31sqn57hx59b2ms6n9gvl80000gn/T/pip-build-9m_emo_z/xgboost + cd ./xgboost/

このように、順調な感じなのですが、最後にエラーが出てきました。

xgboost/xgboost/./lib/libxgboost.dylib /Library/Frameworks/Python.framework/Versions/3.6/xgboost/libxgboost.dylib ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/cj/6n31sqn57hx59b2ms6n9gvl80000gn/T/pip-build-9m_emo_z/xgboost/

上記のエラーメッセージをググったりして、出来る範囲で調べたのですが、改善策がわからないまま苦慮しております。

python2.7 と python3.5 が 一緒にいるため、余計にややこしいと思います。

小生が、出来るだけのことはしたつもりでございます。

補足としましては、python3.6 をインストールした時の 開発環境の python3.6の

IDLEの中では、random forest はうまく動いてくれております。

諸先輩方の、ご教示、よろしくお願い致します。

退会済みユーザー👍を押しています

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

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

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

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

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

guest

回答2

0

その環境では、pythonコマンドはpython2.7, python3コマンドではpython3.5になっているようにお見受けします。
python3.5のpipでインストールしたのに、モジュール内でsetup.pyを実行するコマンドがpythonになっているため、予期しない動作になっている可能性があります。

対応としては、

  • パスの通し方を変えてpythonコマンドで3系が動くようにする
  • python3でxboostを使う用の仮想環境を作る(3.5ならpyvenvコマンドで作れます)

などが考えられます。

ただ、2系を今後も使うのであれば後者がおすすめです。
また、後者の場合はpipを使ったときのインストール先がその仮想環境内の専用の場所に分離されるため、何か失敗しても仮想環境自体を消せば元の環境を汚すことがありません。

投稿2018/03/11 05:18

Udomomo

総合スコア1524

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

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

akakage13

2018/03/11 07:16 編集

Udomomo様、ありがとうございます。 早速、以下のように、pyenv を用いて改良を試みました。 Last login: Sun Mar 11 15:04:37 on console y**********:~ y**********$ brew update Already up-to-date. y**********:~ y**********$ brew install pyenv Warning: pyenv 1.2.2 is already installed y**********:~ y*********$ pyenv --version pyenv 1.2.2 y**********:~ y*********$ pyenv install -list Available versions: 中略 y*************:~ y*****************$ pyenv install 3.5.4 python-build: use openssl from homebrew python-build: use readline from homebrew Downloading Python-3.5.4.tar.xz... -> https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tar.xz Installing Python-3.5.4... python-build: use readline from homebrew Installed Python-3.5.4 to /Users/y*************:/.pyenv/versions/3.5.4 pyenv: /Users/y********/.pyenv/versions/3.5.4 already exists continue with installation? (y/N) y python-build: use openssl from homebrew python-build: use readline from homebrew Downloading Python-3.5.4.tar.xz... -> https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tar.xz Installing Python-3.5.4... python-build: use readline from homebrew Installed Python-3.5.4 to /Users/y**************/.pyenv/versions/3.5.4 y******:~ y******$ pyenv global 3.5.4 y******:~ y******$ pyenv rehash y******:~ y******$ python --version Python 2.7.10 上記のように、自分なりに調べて、試したのですが、なぜか、python2.7 の環境のままでございます。 御教示いただけますと幸いです。 よろしくお願い致します。
Udomomo

2018/03/11 09:10

.bash_profileのPATHはどうなっていますか?.pyenv/shimsのパスの優先度を通常のパスより高くしないと、コマンドがpyenvで切り替えたpythonを探してくれません。
akakage13

2018/03/12 23:53

Udomomo樣、python3.6.4の環境にすることが出来ました。 しかしながら、 y********************$ pip install xgboost とインストールを試みましたが、 Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/cj/6n31sqn57hx59b2ms6n9gvl80000gn/T/pip-build-o9p764d9/xgboost/ 上記のように、エラーメッセージが出ました。 この語句を、いろいろ調べましたが、うまく出来ませんでした。 ヒント等でも、ありがたいです。 御教示、よろしくお願い致します。
Udomomo

2018/03/13 00:31

issueを読んでみると、gcc6ではなく5をインストールしないといけない可能性がありますね。 https://github.com/dmlc/xgboost/issues/1501#issuecomment-292209578 念のためgccをアンインストールしたうえでbrew install gcc@5をインストールし、その後試してみてください。pipが使えなければ、GitHubから直接インストールすることも検討してください。
akakage13

2018/03/13 01:37

Udomomo様、御教示ありがとうございます。 早速、gccをアンインストールして上記の操作をしました。pipでエラーメッセージが出るので、 GitHubから、下記の様に、直接インストールを試みましたが、うまく出来ませんでした。 すでに、xgboostは存在しており、そして、空のディレクトリですということの様です y***:~ y***$ git clone --recursive https://github.com/dmlc/xgboost fatal: destination path 'xgboost' already exists and is not an empty directory. かさねて、ご教示くださいますと幸いです。
Udomomo

2018/03/13 01:51

そのxgboostディレクトリを消して、同じ場所にcloneしてみてください。今cloneしようとしている方がおそらく最新です。
akakage13

2018/03/13 02:39

Udomomo様、ご教示ありがとうございます。 早速試させていただきました。 y******MacBook-ea:~ y*****$ ls -F Desktop/ Downloads/ Movies/ Pictures/ s*****_system/ Documents/ Library/ Music/ Public/ xgboost/ y********$ rm -r xgboost override rw-r--r-- root/staff for xgboost/python-package/dist/xgboost-0.7-py3.5.egg? override rw-r--r-- root/staff for xgboost/python-package/dist/xgboost-0.7-py2.7.egg? override rwxr-xr-x root/staff for xgboost/python-package/dist? override rw-r--r-- root/staff for xgboost/python-package/xgboost.egg-info/PKG-INFO? override rw-r--r-- root/staff for xgboost/python-package/xgboost.egg-info/not-zip-safe? override rw-r--r-- root/staff for xgboost/python-package/xgboost.egg-info/SOURCES.txt? override rw-r--r-- root/staff for xgboost/python-package/xgboost.egg-info/requires.txt? override rw-r--r-- root/staff for xgboost/python-package/xgboost.egg-info/top_level.txt? y rm: xgboost/python-package/xgboost.egg-info/top_level.txt: Permission denied override rw-r--r-- root/staff for xgboost/python-package/xgboost.egg-info/dependency_links.txt? override rwxr-xr-x root/staff for xgboost/python-package/xgboost.egg-info? 上記のメッセージが出てまいりました。消去法がわからず苦慮しております。 ヒントでもありがたいです。よろしくお願い致します。
Udomomo

2018/03/13 02:41 編集

あ、すみません。手動で消すよりも、pip uninstallコマンドで消す方が安全ですね。
akakage13

2018/03/13 03:47

Udomomo様、ありがとうございます y****:~ y*****$ pip uninstall xgboost Cannot uninstall requirement xgboost, not installed と、返ってまいりました。 y******:~ y*****$ rm -Rf xgboost も試みましたが、 rm: xgboost/python-package/build/lib/xgboost/src/c_api/c_api_error.cc: Permission denied rm: xgboost/python-package/build/lib/xgboost/src/c_api: Permission denied rm: xgboost/python-package/build/lib/xgboost/src: Permission denied rm: xgboost/python-package/build/lib/xgboost: Permission denied rm: xgboost/python-package/build/lib: Permission denied rm: xgboost/python-package/build: Directory not empty rm: xgboost/python-package: Directory not empty rm: xgboost: Directory not empty の返事がかえってまいりました。 御教示いただけますと幸いです。
Udomomo

2018/03/13 04:14

なるほど。python3ではまだインストール済みではないんですね。それならpython2.7でインストールしたxgboostは無視できるかもしれません。gcc5にしたうえで、pip installできるでしょうか?(ちなみに、permission deniedになっているものはsudoをつければ消せます)
akakage13

2018/03/13 04:26

Udomomo様、ありがとうございます。 御教示通りにしました。 y*************$ brew install gcc@5 Warning: gcc@5 5.5.0_2 is already installed y*************$ pip install xgboost Collecting xgboost Could not find a version that satisfies the requirement xgboost (from versions: ) No matching distribution found for xgboost お忙しいなか、恐縮ですが、御教示お願い致します。
akakage13

2018/03/13 05:46

参考  小生のmacの中の python-package フォルダの中の distというフォルダの中に、xgboost-0.7-py2.7.egg と xgboost-0.7-py3.5.egg というものを見つけました。小生が間違って、3.6を3.5とpyenvでインストールした時のものと思われます。これが不具合の原因の一つでしょうか。
akakage13

2018/03/13 10:18

参考2  y*************$ pip install xgboost を実行しますと Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/cj/6n31sqn57hx59b2ms6n9gvl80000gn/T/pip-build-wy2zuyvz/xgboost/ 上記のエラーが発生します。 調べてみたところ、 y**************$ easy_install -U setuptools を実行してみましたが、 改善はされませんでした。 上記のエラーの原因が分からず、苦慮しております。
akakage13

2018/03/13 22:28

参考 y**********************************$ pyenv versions system 3.5.4 * 3.6.4 (set by /Users/y*************/.pyenv/version) 3.6.4/envs/xgboost xgboost このようになっております。
akakage13

2018/03/13 22:49

y********$ python --version Python 3.5.4 y********$ pip install xgboost Requirement already satisfied: xgboost in ./.pyenv/versions/3.5.4/lib/python3.5/site-packages/xgboost-0.7-py3.5.egg Requirement already satisfied: numpy in ./.pyenv/versions/3.5.4/lib/python3.5/site-packages (from xgboost) Requirement already satisfied: scipy in ./.pyenv/versions/3.5.4/lib/python3.5/site-packages (from xgboost) y***************:$ which python /Users/y**************/.pyenv/shims/python y*****************$ pyenv versions system * 3.5.4 (set by /Users/y****************/.pyenv/version) 3.6.4 3.6.4/envs/xgboost xgboost y********************$ 現状はこのような感じです。 小生は、python のサイトからダウンロードしてきました、python3.6.4のIDLEを使って、作業をすることが目的でございます。 御教示いただけますと幸いです。
guest

0

自己解決

Macのクリーンインストールを行いました。
その後、homebrew,anacondaを介して、無事に動くようになりました。
大変お騒がせしました。

投稿2018/03/15 08:26

akakage13

総合スコア89

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問