PyPlot can only install pyqt
automatically if you are using the Conda.jl Python. If you have configured PyCall to use your own Python installation, then you are responsible for installing things yourself.
If students have to install software themselves, then with any large free-software system involving disparate packages (Python too) you are going to run into a long tail of installation problems, especially on older laptops. In a software-development/computer-science course, we typically have an army of TAs that can help students out, but in a math or science course that only incidentally involves programming this is typically not an option.
The solution that we’ve used (for intro classes with 200 students) is to allow students to run their software in the cloud — they just visit a certain URL in their browser and get a nice Jupyter notebook (or JupyterLab) interface to Julia, with all the necessary packages pre-installed. One option for this is http://juliabox.com, but this is transitioning to a paid service. Another option that we are exploring is setting up a JupyterHub server — this has already been done at multiple universities for multiple languages. The costs seem to be quite modest even for a university-wide service. And there are other hosting services too.
The notebook interface is great for teaching — not only can we post lecture notebooks that mix runnable code, text, equations, and graphics, but also we can give them problem sets in the same format, with sample code that they need to flesh out and run, and they can turn in their computational homework simply by submitting their notebook (printing to PDF) since it has both their code and their results.