Note: This is a new and improved answer. I will delete my old answer soon.
Colorimetry
This figure is the xy chromaticity diagram form the CIE 1931 color space. The way we quantify color (colorimetry) is as follows. Light entering a sensor (e.g. the human eye) can be decomposed into a spectrum which gives the EM field intensity as a function of frequency or wavelength. The spectrum is a real-valued function $S(\lambda)$. We can use the xy chromaticity diagram to figure out what color this light will produce as follows. We define
\begin{align*}
X =& \int S(\lambda)\bar{X}(\lambda) d\lambda\\
Y =& \int S(\lambda)\bar{Y}(\lambda) d\lambda\\
Z =& \int S(\lambda)\bar{Z}(\lambda) d\lambda
\end{align*}
where $\bar{X}$, $\bar{Y}$ and $\bar{Z}$ are the "CIE XYZ standard observer color matching functions" seen below.
Note that $\bar{X}$, $\bar{Y}$ and $\bar{Z}$ are related to, and can be derived from the sensitivity of the L-, M-, and S-type cone sensors in the human eye captured in the LMS color space. However, the XYZ color space is different than the LMS color space.
For the given spectrum $S(\lambda)$ we calculate $X$, $Y$, and $Z$ and then from these we calculate
\begin{align*}
x =& \frac{X}{X+Y+Z}\\
y =& \frac{Y}{X+Y+Z}.
\end{align*}
The tuple $(x, y, Y)$ then identifies a unique sensation of color. $x$ and $y$ specify a chromaticity (e.g. a hue) on the xy chromaticity diagram and $Y$ specifies a brightness. $(x, y)$ values outside of the colored shape in the diagram are non-physical. No physical spectrum $S(\lambda)$ would lead to values $x$ and $y$ outside of this shape. This shape is called the visible gamut.
Note that it is possible for two different spectra $S_1(\lambda)$ and $S_2(\lambda)$ to produce the same values for $(x, y, Y)$. In this case a human will have the same color sensation. Two such spectra would be called metamers.
The diagram above is colored as follows. Focus first on the triangle in the center. This is the sRGB gamut. This is a set of colors that can be produced on most screens and monitors. Inside of this triangle each $(x, y)$ chromaticity is displayed with the maximum value of $Y$ the can be displayed in the sRGB color space. This is limited by the maximum brightness of the red/green/blue pixels in an (idealizied) sRGB display. Outside of that triangle it is impossible to produce those chromaticities on an sRGB display. In the diagram above if you draw a ray from the white point in the center to some point outside the sRGB gamut but still in the visible gamut then the point outside the gamut is colored with the same color as where the ray intersects the sRGB triangle, just with a darker color to emphasize it is a crude interpolation rather than the actual chromaticity that should appear at that point in the diagram..
The most important thing from this section is to understand that we can convert any spectrum to a color specified as an $(x, y)$ point in the chromaticity diagram. If a spectrum $S(\lambda)$ has more weight at a given wavelength, then the $(x, y)$ point corresponding to the spectrum will be pulled towards that wavelength on the border of the chromaticity diagram.
The Color of Monochromatic Light
Look at the xy-chromaticity diagram. If you look at the upper edge you can see color versus wavelength for monochromatic light. (Note that this story is distorted by the fact that monochromatic light is always outside the sRGB gamut, so what is displayed on your screen is an approximation to the color of monochromatic light). We can plot this directly.
Here the chromaticity displayed is derived using the interpolation described above for chromaticities outside the sRGB gamut. The brightness comes directly from $\bar{Y}(\lambda)$ plotted above.
This figure is an approximation to how monochromatic light of constant intensity looks at different wavelengths. Note that no monochromatic light produces a sensation of "purple". Short wavelengths look blue and long wavelengths look red. In between there is green and some yellow. I believe the bright streak in the blue data is an artifact due to inaccuracies in the datasets used to derive the CIE XYZ color space in the blue region of the spectrum but I am not certain (see https://en.wikipedia.org/wiki/CIE_1931_color_space#Subsequent_refinements).
By looking at the chromaticity diagram we can see that to create purple you need blue light and red light, but not green light. If there is green light then you can see the $(x, y)$ point will be pulled away from the purple region of the chromaticity diagram.
Blackbody spectra and color
A blackbody emits radiation with a spectrum given by
$$
S(\lambda) = \frac{2hc^2}{\lambda^5} \frac{1}{e^{hc/\lambda k_B T} - 1}
$$
We plot this below
The blackbody spectrum is plotted for different temperatures. The corresponding traces are colored according to the color that that spectrum would appear (all traces shown at the Y=0.35). The visible color spectrum is shown in the background for reference.
We see a few important features. First, in the temperature ranges where the frequency spectrum overlaps with the visible spectrum, the spectrum is always as wide or wider than the visible spectrum (this is not a coincidence, it is not surprising that our eyes developed sensitivity in a the same optical band which is emitted by our local star at ~5500 K). Since the spectrum is so wide we shouldn't expect a single color to be "picked out" by a blackbody spectrum. Rather, we expect to see an even combination of colors (white) or perhaps white but tinted towards red or towards blue.
We can calculate and plot the color for different temperatures.
These are shown at constant $Y=0.35$ which is the brightest $Y$ we can use to show all these colors with uniform brightness within sRGB.
These colors are also indicated on the xy chromaticity diagram above.
All of these different analyses and visualizations lead to the same conclusion: Because the blackbody spectra are so broad, you can only get white light that is slightly tinted red or blue. As has been said, to get purple light you would need something to cut the green out of the spectrum.
This has been a thorough answer as to why blackbodies will not appear purple. So, if you accept that stars are blackbodies, you should now understand why there are no purple stars.