Acho o OSGEO4W uma solução ruim porque cria todo um universo paralelo, quase como uma máquina virtual. Consegui instalar o GDAL e usá-lo em python, seguindo as etapas descritas aqui (este é o link fornecido por @ sys49152).
Envia você para gisinternals.com. Pegue o link para "releases estáveis" para acessar:
http://www.gisinternals.com/release.php
Agora você precisa escolher entre 32 e 64 bits e diferentes versões do compilador Microsoft Visual C ++. Observe que isso deve corresponder à sua versão python, não ao seu sistema operacional. No meu caso, tenho janelas de 64 bits, mas um python de 32 bits 2.7 (fornecido com o ArcGIS).
Para ver o que você tem, você pode executar o python na linha de comando e uma mensagem como esta:
C:\>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Então eu preciso usar "release-1500"
Eu selecionei: MSVC 2013/win32 release-1500-gdal-1-11-3-mapserver-6-4-2
(os números da versão da versão mudam com o tempo)
Eu baixei e instalei o "Instalador genérico dos componentes principais do GDAL": gdal-111-1500-core.msi
E adicionou o caminho e outras variáveis, conforme descrito aqui .
Adicionar ao caminho: C:\Program Files (x86)\GDAL
Crie variáveis ambientais:
GDAL_DATA = C:\Program Files (x86)\GDAL\gdal-data
GDAL_DRIVER_PATH = C:\Program Files (x86)\GDAL\gdalplugins
Em seguida, baixei e instalei o módulo python para python 2.7 GDAL-1.11.3.win32-py2.7.msi
E depois disso, em python, eu pude fazer
from osgeo import gdal
ds = gdal.Open('file.tif')
etc.