practical-recommender-systems / moviegeek

A django website used in the book Practical Recommender Systems to illustrate how recommender algorithms can be implemented.
MIT License
901 stars 361 forks source link

Need to upgrade NumPy version to run migrations #25

Closed Allicolyer closed 5 years ago

Allicolyer commented 5 years ago

I was getting this error when trying to run the migrations

  File "/Users/allisoncolyer/Workspace/moviegeek/prs/lib/python3.7/site-packages/gensim/matutils.py", line 1076, in <module>
    from gensim._matutils import logsumexp, mean_absolute_difference, dirichlet_expectation
  File "__init__.pxd", line 872, in init gensim._matutils
ValueError: numpy.ufunc has the wrong size, try recompiling. Expected 192, got 216

Upgrading my version of NumPy from 1.15.4 to 1.17.2 fixed the problem

pip3 install --upgrade numpy
Found existing installation: numpy 1.15.4
    Uninstalling numpy-1.15.4:
      Successfully uninstalled numpy-1.15.4
Successfully installed numpy-1.17.2

Numpy version 1.15.4 is specified in requirements.txt so perhaps this need to be updated? I wanted to file an issue in case others were having this problem too.

Heermosi commented 5 years ago

Numpy 1.15.4 can be working correctly on python 3.7.5 with all odds loaded on Linux and docker container. So it seems that it had some relation with your working environment?

Allicolyer commented 5 years ago

I am running Python 3.7.0 so perhaps that's the issue. Thanks for the tip!

canicola commented 4 years ago

I get the same issue. I'm running on Linux (Debian 10 buster). I cloned the repo from scratch using

Python 3.7.2 (default, Mar  8 2019, 16:25:50) 
[GCC 6.3.0 20170516] on linux

If I'm installing the requirements using pip3.7

pip3.7 --version
pip 18.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

and try to start the server, I get the following error message:

python manage.py runserver
Performing system checks...

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7ff6cd4e3620>
Traceback (most recent call last):
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/utils/autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/core/management/commands/runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/core/management/base.py", line 379, in check
    include_deployment_checks=include_deployment_checks,
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/core/management/base.py", line 366, in _run_checks
    return checks.run_checks(**kwargs)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/core/checks/registry.py", line 71, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
    all_namespaces = _load_all_namespaces(resolver)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces
    url_patterns = getattr(resolver, 'url_patterns', [])
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/utils/functional.py", line 37, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/urls/resolvers.py", line 533, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/utils/functional.py", line 37, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/urls/resolvers.py", line 526, in urlconf_module
    return import_module(self.urlconf_name)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/nicolas/projects/moviegeek/moviegeek/prs_project/urls.py", line 10, in <module>
    url(r'^analytics/', include('analytics.urls')),
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/nicolas/projects/moviegeek/moviegeek/analytics/urls.py", line 2, in <module>
    from analytics import views
  File "/home/nicolas/projects/moviegeek/moviegeek/analytics/views.py", line 10, in <module>
    from gensim import models
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/gensim/__init__.py", line 5, in <module>
    from gensim import parsing, corpora, matutils, interfaces, models, similarities, summarization, utils  # noqa:F401
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/gensim/corpora/__init__.py", line 6, in <module>
    from .indexedcorpus import IndexedCorpus  # noqa:F401 must appear before the other classes
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/gensim/corpora/indexedcorpus.py", line 15, in <module>
    from gensim import interfaces, utils
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/gensim/interfaces.py", line 21, in <module>
    from gensim import utils, matutils
  File "/home/nicolas/projects/moviegeek/moviegeek/prs/lib/python3.7/site-packages/gensim/matutils.py", line 1076, in <module>
    from gensim._matutils import logsumexp, mean_absolute_difference, dirichlet_expectation
  File "__init__.pxd", line 872, in init gensim._matutils
ValueError: numpy.ufunc has the wrong size, try recompiling. Expected 192, got 216