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:

1) 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?]

2) Is there a known necessary and sufficient condition on a topological space X for there to be enough projectives?