imblearn.over_samplingのインストール方法について

yuchi09
Level 1
imblearn.over_samplingのインストール方法について

pip install imblearn.over_sampling でも

!pip install imblearn.over_sampling でもエラーが出てしまいます。

pip部分を飛ばして

import imblearn.over_sampling
from imblearn.over_sampling import SMOTE にするとModuleNotFoundError:がでてしまいます。

他にインストールする方法があるのでしょうか?

0 Kudos
26 Replies
TsuyoshiK
Dataiker

試していただいている環境は、Dataikuのフリー版(ローカルインストール版)ということでよろしいでしょうか?SaaSトライアル版の場合、また回答が異なりますが、ローカルインストール版という前提で、私のローカルインストール環境で確認した結果をご連絡します。

imblearn は、imbalanced-learnパッケージに引き継がれたため、imbalanced-learn をインストールした方がよいようです。そこで、私の環境でimbalanced-learnをインストールしたのですが、やはりimportでエラーが発生しました。

どうも試した限り、imbalanced-learn の最新版(0.12.0、2024年2月3日現在)には何らかの問題があるようで、以下のように一つ前のバージョンをインストールすることで、SMOTE の import自体はできるようになりました。(このあたりの挙動について、私は詳しくないため、取り急ぎの確認結果ということでご了承ください。。)

 

pip install imbalanced-learn==0.11.0

 

また、上記のように NotebookやPythonレシピの中でpipすることも可能ではありますが、通常はCode Environmentの利用を推奨していますので、今後に向けて、Code Envの利用もご検討いただけますと幸いです。
https://knowledge.dataiku.com/latest/code/work-environment/concept-code-environments.html

ただ、その場合も、添付画像のように一つ前のバージョンを指定する必要がありましたので、ここにご連絡しておきます。

Monosnap test (Python) - Code Envs _ Dataiku 2024-02-03 21-37-45.png

0 Kudos
yuchi09
Level 1
Author

早速の回答ありがとうございます。Code Environmentの利用でやってみます。

0 Kudos
TsuyoshiK
Dataiker

承知しました!もし、ご不明な点などございましたら、またご連絡いただけますと幸いです。

0 Kudos
yuchi09
Level 1
Author

code envs1 で実行時しようとしてますが

このようなエラーがでてインストールできないのですが解消法はありますか?

ERROR
ERR_CODEENV_UPDATE_FAILED
Environment update failed
null failed (exit code: 1)
0 Kudos
TsuyoshiK
Dataiker

上記メッセージのみですと、原因が不明な点がありますので、もしさらに詳細なメッセージが出ているようでしたら、そちらもご教示いただけますと幸いです。


また、今回定義されているCode Envの内容(Python Interpreterのバージョン、定義パッケージなど)がわかる画面のキャプチャをいただけますと、こちらでももう少しエラー原因を確認できるかもしれません。

0 Kudos
yuchi09
Level 1
Author
 

画面1.png画面2.pngこのようながぞうでわかりますでしょうか?画面3.png

0 Kudos
TsuyoshiK
Dataiker

エラー内容のご連絡をいただきまして、ありがとうございます。エラー内容自体は、ご利用のPython環境にssl関連のモジュールが入っていないというエラーになります。

そこで、ご教示いただきたいのですが、今回ご利用いただいているPython環境は、DataikuのBuiltin(デフォルト)のものをそのまま利用されていますでしょうか?

また、さらに調査を進める上で、以下の情報についても教えていただけますと幸いです。

  • Dataikuのインストーラーの種類(Mac版、Windows版・・・など)
  • 利用しているDataikuのバージョン(Version 12.5.0 ・・・など)

ベストエフォートでの対応とはなりますが、いただいた情報を元に、こちらでもさらにエラー原因などを確認したいと思います。どうぞよろしくお願いいたします。

0 Kudos
yuchi09
Level 1
Author

ありがとうございます。

Dataikuのインストーラーの種類はwindows版です

12.5.1

Windows (10 Home)

 とあるのがバージョンでしょうか?

0 Kudos
yuchi09
Level 1
Author

あと、改造などする技術はもちあわせていないので、パイソンはデフォルト設定だと思います。

ローカルのみで利用しています。(AWSなどにはくっつけていません)

0 Kudos
TsuyoshiK
Dataiker

情報のご連絡をいただきまして、ありがとうございます。いただいた情報を製品チームに共有して確認しております。

Windows版はベータ版の扱いということもありまして、すぐには対応が難しい可能性もありますが、情報を得られ次第ご連絡しますので、少々お時間をいただけますと幸いです。

0 Kudos
TsuyoshiK
Dataiker

開発部門にも確認したのですが、Dataiku Windows版のLauncherに同梱されているPythonを利用すれば、通常は問題なくCode EnvのUpdateやpipが可能なため、今回のエラーが発生している状況について、さらに確認が必要とのことでした。

そこで、私の方でもWindows 11のPCを用意してDataikuのWindows版をインストールしてみたのですが、特に問題なくCode Envのアップデートが可能なことを確認しました。さらに原因の調査を進めるため、以下の2点について、ご確認いただきまして情報をご教示いただけますと幸いです。

  1. @yuchi09 さんの環境では添付画像のパスにssl.pyが入っていますでしょうか?dss.png
  2. Code Envを作成した際の手順について、詳しく教えていただけますでしょうか?(デフォルトのままであれば、プルダウンからPython 3.7を指定する挙動になります。そのような手順でCode Envの作成を進めることができましたでしょうか?)
0 Kudos
TsuyoshiK
Dataiker

@yuchi09 先ほどのメッセージでお願いしました情報につきましては、ご教示をいただければと思いますが、

それと並行して、事象の切り分け、および取り急ぎの回避策としまして、以下の手順で新しいPython環境をインストールしていただき、エラーが解消するかどうかをお試しいただけますと幸いです。

1. 以下のサイトからWindows用のPython 3.10をダウンロード&インストールする
(インストーラー付きのものとしては、3.10.11が該当すると思います。)
https://www.python.org/downloads/windows/

2. DataikuでCode Envを新規作成する。その際に「Python 3.10 - Not available」を選択する。
(Windows版の場合、インストール済みのPython環境でも「Not available」と表示されますが、その点は問題ございません)

3. Code Envに任意のパッケージを追加して、Updateを実行する。

0 Kudos
yuchi09
Level 1
Author

このような画像でわかりますでしょうか?

0 Kudos
yuchi09
Level 1
Author

画面がうまくはれませんでしたが、確認したところ指定されたところにssl.pyはありました。

Python interpreter

Python 3.9となっているようなのですがこれが原因でしょうか?

 

0 Kudos
TsuyoshiK
Dataiker

ご確認をいただきまして、ありがとうございます。ssl.pyは存在するということで承知しました。


画面がうまくはれませんでしたが、確認したところ指定されたところにssl.pyはありました。

Python interpreter

Python 3.9となっているようなのですがこれが原因でしょうか?

上記についてですが、以下画像のパスの部分が3.7ではなくて3.9になっているという理解であっておりますでしょうか?

dss.png

0 Kudos
TsuyoshiK
Dataiker


以下画像のパスの部分が3.7ではなくて3.9になっているという理解であっておりますでしょうか?

dss.png


上記について、ご確認をいただいた結果はいかがでしょうか?

別スレッドにて、以下のコメントをいただきましたので、別途Python 3.10をインストールすることで、Code Envの作成は可能になったと理解しましたが、根本原因を確認したいと思いますので、上記のパスが3.7と3.9のどちらであるか、ご教示をいただけますと幸いです。

「NEW PYTHON ENV」を押した後のパイソンの選択が、3.9となっていたのですが、▼マークで3.10を選択し新規作成しインポートはできたようです

0 Kudos
yuchi09
Level 1
Author

手順といたしましては、Code Envs→NEW PYTHON ENV →Packages to install→Install Jupyter support のチェックをはずす→packages once they are installed. Only packages mentioned here are guaranteed to be installed.と書かれたところの下にimbalanced-learn==0.11.0を入れてUPDATEボタンを押す

その時に「Python 3.10 - Not available」を選択する。というのが出てきた記憶がないのですが

 

0 Kudos
TsuyoshiK
Dataiker

@yuchi09 wrote:

手順といたしましては、Code Envs→NEW PYTHON ENV →Packages to install→Install Jupyter support のチェックをはずす→packages once they are installed. Only packages mentioned here are guaranteed to be installed.と書かれたところの下にimbalanced-learn==0.11.0を入れてUPDATEボタンを押す

その時に「Python 3.10 - Not available」を選択する。というのが出てきた記憶がないのですが


上記についてですが、「NEW PYTHON ENV」をクリックした際、以下画像のように複数のPythonバージョンの候補が表示されるはずです。こちらに「Python 3.10 - Not available」等が表示されないという理解であっておりますでしょうか?

Code-envs-Dataiku.png

上記の部分がどのように表示されているか確認したいため、スクリーンショットを提供していただけますと助かります。

0 Kudos
yuchi09
Level 1
Author

新たにテストでNEW PYTHON ENVをしたところこのような警告がでました。ユーザのあとのところを◎◎に変更させていただいています

 

Creation result Warnings were encountered WARNINGERR_CODEENV_UPDATE_FAILED Environment update failed Initial code env packages installation failed WARNINGERR_CODEENV_JUPYTER_SUPPORT_INSTALL_FAILED Jupyter support installation failed Cannot install jupyter support created virtual environment CPython3.9.13.final.0-64 in 4436ms creator CPython3Windows(dest=C:\Users\◎◎\AppData\Local\Dataiku\DataScienceStudio\dss_home\code-envs\python\test, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\◎◎\AppData\Local\pypa\virtualenv) added seed packages: pip==22.3.1, setuptools==65.6.3, wheel==0.38.4 activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator Updating code environment according to spec ... Installing from Pip requirements WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pandas/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pandas/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pandas/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pandas/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pandas/ ERROR: Could not find a version that satisfies the requirement pandas<1.2,>=1.1 (from versions: none) ERROR: No matching distribution found for pandas<1.2,>=1.1 WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. WARNING: There was an error checking the latest version of pip. Could not fetch URL https://pypi.org/simple/pandas/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pandas/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping C:\Users\◎◎\AppData\Local\Dataiku\DataScienceStudio\dss_home\code-envs\python\test\Scripts\python.exe: No module named ipykernel

0 Kudos
TsuyoshiK
Dataiker

エラー情報の共有をいただきまして、ありがとうございます。

こちらのエラー内容に関しましても、導入済みPython環境のパス・バージョンに関連するエラーと考えられますため、まずは上記に記載しました2つの項目について、情報をいただけますと幸いです。

0 Kudos