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

個人的には非推奨ですが、ちゃんと動きます。
どうも、開発チームはanaconda使っているようですね。。。
anaconda使わんぞってユーザの方は同じ状況の方多いのではと思っています。
# pycaretがはいらない　そんな人のための一例です.
便利ツールがやってきたぞということで早速試そうと！ 
pip install pycaret →　はい、エラー 
どうもxgboostのバージョン設定が問題でした。 とりあえず１対処法を共有しようと思います。
おそらくすぐ本家が改修してくれることでしょう・・・

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

[xgboostのインストールはこちら](https://qiita.com/mtakayuki/items/fd69c8b483d4507a7b02)

## そもそもPyCaretとは？？
要は、いろんな種類のMLを一気に走らせて比較できるで！って感じ
詳しくはこちら。ほんと素晴らしいツールですね！
[DataRobotの無料版！？機械学習を自動化するライブラリ『PyCaret』入門](https://qiita.com/tani_AI_Academy/items/62151d7e151024733919)  

ただ言わずもがな、　　
データの前処理、特徴量選択とか正規化あたりはちゃんと考えてやっておいた方がいいですね   
### 通常通りの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を書き換えていきます...



```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から変更

```txt:requirements.txt
xgboost==1.0.2 
```
書き換えたら 
setup.pyがあるところで　pip install .　--userでインストール

```
pip install . --user
```

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