I have a stye on my left eye and its lasted for months, what do I do?

See an eye doctor. A stye is a common term that refers to a mass on the eyelid caused by infection, inflammation or both (chalazion or hordeolum). Styes may go away on their own but often do not. An eye doctor can evaluate it and start you on a treatment regimen to help resolve it. A good rule of thumb is that if it has been present that long, it can take weeks to months to resolve, even with treatment.
Warm compresses. Warm compresses (wash cloth with hot water and hold it on the stye for 5-10 minutes, reheating as needed), or surgical incision and drainage, or steroid have been the only effective treatments demonstrated get rid of a stye. A stye is due to the orifice of an oil gland (mebomian gland) in the eyelid margin becoming inflamed, and not an infection, so antibiotics are not indicated.
Depends. You may not have a stye! it may be a different problem called a chalazion. Stye is usually caused by an inflammed hair follicle along the eye lid due to a bacteria. They are very painful, usually point and will go away fairly promptly with proper treatment. A chalazion may remain for many weeks and may have to be surgically removed. If concerned, see eye doctor very soon.