Is there a way to send a flask app to be run by someone who doesn't have any of the stuff installed?
You can use CZ_FREEZE package that converts your FLASK project into a sharable cross-platform app, such that the receiving end doesn't need to install the essential libraries first.

First, install the cz_freeze library using,
pip install cz_Freeze
Then in your main project folder create a setup.py file containing the following code,
from cx_Freeze import setup, Executable
# Include the name of all folder or files in your project folder that is necessary for the project excluding your main flask file.
# If there are multiple files, you can add them into a folder and then specify the folder name.
# In place of main.py file add your main flask file name
includefiles = [ 'templates', 'static', 'some_other_file.py']
includes = [ 'jinja2' , 'jinja2.ext'] 
excludes = ['Tkinter']
setup(
name='Sample Flask App',
version = '0.1',
description = 'Sample Flask App',
options = {'build_exe':   {'excludes':excludes,'include_files':includefiles, 'includes':includes}},
executables = [Executable('main.py')]
)
Now from the terminal run,
python setup.py build
Now there should be a folder created with name build containing all the files that you mentioned as well as the packages of your virtual environment.
Run the project using the script file with the name of your main flask file.
To preface: I'm very very new to Flask/web frameworks and all.
For some CS schoolwork, I'm supposed to develop an application of some form for a teacher. What I have chosen to use to develop it is Flask. However, the teacher I'm sending it to is unfamiliar with Python and probably doesn't have any Flask dependencies or anything installed. So I was wondering if there was a way for me to send him something (like a .pyc) which will locally host/run the flask app on his computer easily? For the purposes of testing it and all prior to hosting it.