This question is being asked on behalf of V. Alexeev.
Let X be a topological space. It is well known that the abelian category of sheaves on X has enough injectives: that is, every sheaf can be monomorphically mapped to an injective sheaf. The proof is similarly well known: one uses the concept of "generators" of an abelian category.
It is also a standard remark in texts on the subject that on a general topological space X, the category of sheaves need not have enough projectives: i.e., there may exist sheaves which cannot be epimorphically mapped to by a projective sheaf. (Dangerous bend: this means projective in the categorical sense, not a locally free sheaf of modules.) For instance, wikipedia remarks that projective space with Zariski topology does not have enough projectives, but that on any spectral space (= a space homeomorphic to Spec R) there are enough projective sheaves.
Two questions:
Who knows an actual proof that there are not enough projectives on, say, P^1 over the complex numbers with the Zariski topology? [What about the analytic topology, i.e., S^2?]
Is there a known necessary and sufficient condition on a topological space X for there to be enough projectives?