Nextdoor / ndscheduler

A flexible python library for building your own cron-like system, with REST APIs and a Web UI.
BSD 2-Clause "Simplified" License
1.08k stars 202 forks source link

make simple fails possibly due to problem with virtualenv version #104

Open findbl0k opened 1 year ago

findbl0k commented 1 year ago

I am having problems trying to build according to the readme. Here is my log when trying make simple

sudo make simple

if [ ! -d ".venv" ]; then make install; fi

make[1]: Entering directory '/home/ubuntu/new/ndscheduler'

make init

make[2]: Entering directory '/home/ubuntu/new/ndscheduler'

Initialize dev environment for ndscheduler ...

Install pre-commit hook for git.

Setup python virtual environment.

if [ ! -d ".venv" ]; then virtualenv .venv; fi

Using base prefix '/usr'

New python executable in /home/ubuntu/new/ndscheduler/.venv/bin/python3

Also creating executable in /home/ubuntu/new/ndscheduler/.venv/bin/python

Traceback (most recent call last): File "/usr/local/bin/virtualenv", line 8, in <module> sys.exit(main()) File "/usr/local/lib/python3.10/dist-packages/virtualenv.py", line 860, in main create_environment( File "/usr/local/lib/python3.10/dist-packages/virtualenv.py", line 1162, in create_environment install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages=site_packages, clear=clear, symlink=symlink) File "/usr/local/lib/python3.10/dist-packages/virtualenv.py", line 1721, in install_python fix_local_scheme(home_dir, symlink) File "/usr/local/lib/python3.10/dist-packages/virtualenv.py", line 1807, in fix_local_scheme if sysconfig._get_default_scheme() == "posix_local":

AttributeError: module 'sysconfig' has no attribute '_get_default_scheme'. Did you mean: 'get_default_scheme'?

make[2]: *** [Makefile:14: init] Error 1

make[2]: Leaving directory '/home/ubuntu/new/ndscheduler'

make[1]: *** [Makefile:25: install] Error 2

make[1]: Leaving directory '/home/ubuntu/new/ndscheduler'

make: *** [Makefile:37: simple] Error 2

ubuntu@ip-172-31-4-204://home/ubuntu/new/ndscheduler$

If I run the same command again, I get a different output now:

sudo make simple if [ ! -d ".venv" ]; then make install; fi # Install dependencies .venv/bin/pip install -r simple_scheduler/requirements.txt; /bin/bash: line 1: .venv/bin/pip: No such file or directory make: *** [Makefile:39: simple] Error 127

This stackoverflow response seems to indicate that it is a problem with the virtualenv version.

from stackoverflow:

Using python 3.10.2 and virtualenv 16.7.5 gives me the same error. Looks like virtualenv 16.7.5 is too old for 3.10.2. Upgrade you package with this command and everything will work out.

pip install --upgrade virtualenv

...However I do not have the luxury of running this update command because this is all running inside make. I suppose I could downgrade my python version, but that seems less than ideal. Any help here is greatly appreciated.

findbl0k commented 1 year ago

This repo is far out of date. I would advise against anyone using this software until the creators update it. I'm leaving this issue open for visibility.