psf / python-in-edu

website for educational python resources
http://education.python.org/
MIT License
41 stars 28 forks source link

Break requirements.txt into environment specific modules #38

Open birdcar opened 3 years ago

birdcar commented 3 years ago

Our previous approach to dependencies was creating a high barrier to entry for new contributors (and new Pythonistas/Djangonauts) since it required them to have a production environment installed locally just to install the requirements files.

This change moves production-specific dependencies to a separate module, simplifies local setup, and opens the possiblity of having development specific dependencies in the future.

closes #37

birdcar commented 3 years ago

@meg-ray We'll definitely want someone to look over the dependency cleanup I did 👀

The direct dependency list was put together after reading through the code that we're importing and also by using pipdeptree. I ran the application locally and everything appeared to work, but since this is my first time using the application I'm not certain exactly what "everything" or "work" means haha.

As long as the list appears to check out then I think we're good to go on this!

meg-ray commented 3 years ago

I am going to test this by re-creating my dev environment, so it may take me a bit to merge. When you ran it locally, did you test the forums? Spirit has a ton of requirements.

birdcar commented 3 years ago

@meg-ray I clicked around the forums, but didn't specifically test any functionality. Having said that, when I checked the packages output by pip freeze they still matched everything that was in the original requirements.txt file, so I think we're good there.