Pylons / pyramid-cookiecutter-starter

A Cookiecutter (project template) for creating a Pyramid starter project with choices for template language (Jinja2, Chameleon, or Mako), persistent backend (none, SQLAlchemy with SQLite, or ZODB), and mapping of URLs to routes (URL dispatch or traversal)
95 stars 53 forks source link

No module named dateutil.rrule #105

Closed rredesigns closed 3 years ago

rredesigns commented 3 years ago

Hello there!

I was trying to use cookicutter today and got this:

You've downloaded /home/rre/.cookiecutters/pyramid-cookiecutter-starter before. Is it okay to delete and re-download it? [yes]: yes
Unable to load extension: No module named 'dateutil.rrule'

dateutil was installed globally. Also cookiecutter was installed globally, then uninstalled and installed with the --user flag as stated in Pyramid's docs and it ends up in the same.

If I try to import dateutil.rrule from a Python CLI it throws the same error, but I couldn't find anything about this module being deprecated or something.

This happend under Manjaro Linux (Arch based) and Python 3.8.

Any help would be much appreciated. Thanks a lot.

stevepiercy commented 3 years ago

Thanks for the report. I have no clue where dateutil.rrule comes from.

Check your version of cookiecutter installed in your user space. It should be the latest. Then try upgrading cookiecutter:

pip install  cookiecutter --user --upgrade

Optionally try the same with dateutil.rrule.

pip install  dateutil.rrule --user --upgrade

I have the latest cookiecutter installed and the following command worked for me without issue:

cookiecutter gh:Pylons/pyramid-cookiecutter-starter
You've downloaded /Users/stevepiercy/.cookiecutters/pyramid-cookiecutter-starter before. Is it okay to delete and re-download it? [yes]: yes
project_name [Pyramid Scaffold]:
repo_name [pyramid_scaffold]:
Select template_language:
1 - jinja2
2 - chameleon
3 - mako
Choose from 1, 2, 3 [1]:
Select backend:
1 - none
2 - sqlalchemy
3 - zodb
Choose from 1, 2, 3 [1]:

===============================================================================
Documentation: https://docs.pylonsproject.org/projects/pyramid/en/latest/
Tutorials:     https://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/
Twitter:       https://twitter.com/PylonsProject
Mailing List:  https://groups.google.com/forum/#!forum/pylons-discuss
Welcome to Pyramid.  Sorry for the convenience.
===============================================================================

Change directory into your newly created project.
    cd pyramid_scaffold

Create a Python virtual environment.
    python3 -m venv env

Upgrade packaging tools.
    env/bin/pip install --upgrade pip setuptools

Install the project in editable mode with its testing requirements.
    env/bin/pip install -e ".[testing]"

Run your project's tests.
    env/bin/pytest

Run your project.
    env/bin/pserve development.ini

Please let us know. Thank you!

rredesigns commented 3 years ago

Hello!

Ok, so I tried a lot of stuff, even trying to do it all from the venv and no luck. Then I just got so mad I uninstalled python-dateutil (that's the Arch package name) and then installed it again. It works now.

I'd like to point out that I had never installed dateutil by myself, it was installed along cookiecutter (if I remember correctly) as a dependency and was installed incomplete apparently, so maybe you wanna look into that? :D

Anyway, it now works and I'm happy to start with Pyramid. Django was just "too much" and Pyramid seems to be exactly what I wanted.

Thanks a ton for the quick reply and the help. Goodbye.

stevepiercy commented 3 years ago

You're welcome.

You can file an issue with the maintainers of cookiecutter. We maintain this cookiecutter, but not the package cookiecutter.