Hello! I have made a Python project where YURI from the game doki doki literature club accesses the webcam and stares directly into the players soul. Hope you enjoy!
When you develop through IDLE, the name of the file doesn't matter that much, but when you run a program that you have downloaded through the command line it is not very ergonomic to type in filenames when those filenames contain spaces.
python My\ Thing.py
PEP8 (the de-facto standard for python) asks that you name files and modules as described here
So instead of My Thing.py you should have my_thing.py
You can use the built-in python argparse module or the click library to allow people to pass in things like the images to use for the body and for the eyes as arguments.
For example python face_track.py --background=base.png --eyes=eyes.png
This is a usability win because it lets people experiment with the functionality of the code (having eyes follow a person) with different images without having to touch the code itself.
These args can be optional, so the defaults you have will work just fine.
First off, extremely creepy and fantastic project. You are a gift to the world.
Second, its generally bad practice in python to pip install packages globally on a per-project basis. Usually, most developers use a tool called virtualenv to be able to install packages locally for a single project. For any project, it is also a good idea to keep track of its dependencies as part of the project.
Anywho, I would recommend learning about Pipenv. By using that to handle dependencies, other developers can get up and started with your project quickly (not to mention yourself in quite a few situations)