6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MacでPyCaretをpipでinstall 失敗!-> 解決!

Last updated at Posted at 2020-04-22

個人的には非推奨ですが、ちゃんと動きます。
どうも、開発チームはanaconda使っているようですね。。。
anaconda使わんぞってユーザの方は同じ状況の方多いのではと思っています。

pycaretがはいらない そんな人のための一例です.

便利ツールがやってきたぞということで早速試そうと!
pip install pycaret → はい、エラー
どうもxgboostのバージョン設定が問題でした。 とりあえず1対処法を共有しようと思います。
おそらくすぐ本家が改修してくれることでしょう・・・

環境

MacOS Catalina ver10.15.3
pyenv使用
python3.7.0
xgboost==1.0.2 # xgboostはインストール済みであった

xgboostのインストールはこちら

そもそもPyCaretとは??

要は、いろんな種類のMLを一気に走らせて比較できるで!って感じ
詳しくはこちら。ほんと素晴らしいツールですね!
DataRobotの無料版!?機械学習を自動化するライブラリ『PyCaret』入門

ただ言わずもがな、  
データの前処理、特徴量選択とか正規化あたりはちゃんと考えてやっておいた方がいいですね

通常通りのPyCaretのインストールする

pip install pycaret

pipでエラー出るんです、、、

筆者のpip install pycaretはどうもエラーを吐きます
こんな感じ

Collecting xgboost==0.90
  Using cached xgboost-0.90.tar.gz (676 kB)
    ERROR: Command errored out with exit status 1:

コンパイラの設定が問題なのかな?とか思ってたっけどxgboost==1.0.2はうごいているから放置。
ダウングレードすればいいじゃん? いや普通にpip install xgboost==0.90でエラーはくし、
0.90 って割と道半ばってことじゃ、、、?
わざわざダウングレードとか環境変えたりするのは面倒さい筆者です(1.0.0以上のライブラリの方が信じてられる)

今回やったこと:Gitからpull→ require周りの設定書き換える→ pip install . --user で入る

とりあえずデフォルトのパケージの格納場所で。もちろんここじゃなくてもいいです(あとでpath通すのめんどくさくいので)

cd ./Your python package path /
git pull git clone https://github.com/pycaret/pycaret
cd pycaret

setup.pyがある階層のファイル構成はこうなってますね

.
├── Examples
├── LICENSE
├── MANIFEST.in
├── README.md
├── Tutorials
├── __pycache__
├── anomaly.py
├── arules.py
├── classification.py
├── clustering.py
├── datasets
├── datasets.py
├── nlp.py
├── preprocess.py
├── pycaret.egg-info
├── regression.py
├── requirements.txt
├── setup.py
└── utils.py

setup.pyを書き換えていきます...

setup.py
from setuptools import setup
from setuptools import find_packages# 追加

def readme():
    with open('README.md') as f:
        README = f.read()
    return README

setup(
    name="pycaret",
    version="1.0.0",
    description="An open source, low-code machine learning library in Python",
    long_description=readme(),
    long_description_content_type="text/markdown",
    url="https://github.com/pycaret/pycaret",
    author="Moez Ali",
    author_email="moez.ali@queensu.ca",
    license="MIT",
    classifiers=[
        "License :: OSI Approved :: MIT License",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.7",
    ],
    # packages=["pycaret"]
    packages=find_packages(),# 変更 
    include_package_data=True,
    install_requires=["pandas", "numpy", "seaborn", "matplotlib", "IPython", "joblib",
                      "scikit-learn==0.22", "shap==0.32.1", "ipywidgets", "yellowbrick==1.0.1",
                      # "xgboost==0.90",
                      "xgboost==1.0.2",# バージョンを変更
                      "wordcloud", "textblob", "plotly==4.4.1", "cufflinks==0.17.0", "umap-learn",
                      "lightgbm==2.3.1", "pyLDAvis", "gensim", "spacy", "nltk", "mlxtend",
                      "pyod", "catboost==0.20.2", "pandas-profiling==2.3.0", "kmodes==0.10.1",
                      "datefinder==0.7.0", "datetime", "DateTime==4.3", "awscli"]

requirements.txtも変更しておきます
xgboost==0.90から変更

requirements.txt
xgboost==1.0.2 

書き換えたら
setup.pyがあるところで pip install . --userでインストール

pip install . --user

最後に

一応問題なく動いていますが、あんまり推奨はできないやり方ですね。
ただまあ試しに使ってみようという方はやってみてもいいのではないでしょうか。
すぐこの記事は必要にならなくなりそうですが、PyCaretの記事が増えてくれることに期待を込めて

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?