deepcharles / ruptures

ruptures: change point detection in Python
BSD 2-Clause "Simplified" License
1.56k stars 161 forks source link

ModuleNotFoundError: No module named 'ruptures.utils._utils.convert_path_matrix' #238

Closed oh-my-lawdy closed 2 years ago

oh-my-lawdy commented 2 years ago

I'm running into this error in a remote environment that I'm unable to recreate locally where I'm unable to find ruptures.utils._utils.convert_path_matrix. Due to some constraints I'm having to package my python dependencies locally with pip install -t lib/ -r requirements.txt and scp lib/ into the remote. I add lib/ to the path and everything else I'm packaging up this way seems to work.

Am I breaking something in the install of ruptures when I move it? I'm not familiar with cython at all, is there some intricacy I'm missing?

from ruptures import Dynp
File "ruptures/__init__.py", line 3, in <module>
    from .datasets import pw_constant, pw_linear, pw_normal, pw_wavy
File "ruptures/datasets/__init__.py", line 2, in <module>
  from .pw_constant import pw_constant
File "ruptures/datasets/pw_constant.py", line 6, in <module>
  from ruptures.utils import draw_bkps
File "ruptures/utils/__init__.py", line 2, in <module>
  from ruptures.utils._utils.convert_path_matrix import from_path_matrix_to_bkps_list
ModuleNotFoundError: No module named 'ruptures.utils._utils.convert_path_matrix'
oh-my-lawdy commented 2 years ago

Figured it out! The remote server was running a different version of python than local dev. Syncing up the versions got everything working as expected.