Belajar Python Dadakan
Lagi ngecek-ngecek harddisk kemarin nemu Instalasi Python 2.5. Sepertinya dulu ada karena supaya mendukung blender. Akhrinya penasaran ingin coba mrogram.
Dimulai dari mendownload paket-paket yang mungkin digunakan untuk keperluan sehari-hari (pygame, numpy, pyOpenGL, PIL). Kemudian dilanjutkan dengan mencari IDE untuk mengelola project yang menggunakan python. tadinya hanya mengandalkan Notepad2 dan sudah cukup (untuk syntax highlighting). Ternyata di perjalanan nemu bahwa ada plugin eclipse untuk python. hwahaha.. berita yang cukup menggembirakan karena nggak perlu lagi instal IDE baru.
Setelah selesai melakukan instalasi paket telor python.. (hehe.. sebenernya yang diinstalasi yang .exe sih..
, tapi merasa lucu juga klo pemaketan ekstensinya pakai istilah telur (.egg)), dilanjutkan dengan mencoba-coba contoh kode (mulai dari pyOpenGL)
Duh, nggak mau jalan.
setelah dijalankan dalam mode konsol, ternyata ada file yang nggak ketemu namanya pkg_resources. *garuk-garuk*
Karena nggak ngerti jadinya coba cari-cari di direktori yang bersangkutan (site-packages/OpenGL) dan ternyata file tersebut memang tidak ada. *mulai panik..*
coba-coba membuat sendiri isi file tersebut. tapi ternyata gagal (atribut kelas nggak ketemu setelah import module). oh well, akhirnya terpaksa diakalin load manual
di file OpenGL/platform/__init__.py jadi begini
def _findPlatform( platform ):
#"""Find platform implementation by name"""
#for entrypoint in pkg_resources.iter_entry_points(
# "OpenGL.platform.implementation"
#):
#
# if entrypoint.name == platform:
# print "found", entrypoint.name
# return entrypoint.load()
#raise RuntimeError(
# """Unable to find an implementation for the %r platform (os.name)"""%(
# platform,
# )
#)
from win32 import Win32Platform
return Win32Platform
di file OpenGL/arrays/formathandler.py jadi begini
def loadModule( cls, plugin_class, ename ):
handler = plugin_class()
handler.register( handler.HANDLED_TYPES )
cls.HANDLER_REGISTRY[ ename ] = handler
if hasattr( handler, 'zeros' ):
cls.ALL_OUTPUT_HANDLERS.append( handler )
loadModule = classmethod( loadModule )
def loadAll( cls ):
"""Load all setuptools-registered FormatHandler classes
register a new datatype with code similar to this in your
package's setup.py for setuptools:
entry_points = {
'OpenGL.arrays.formathandler':[
'numpy = OpenGL.arrays.numpymodule.NumpyHandler',
],
}
"""
from OpenGL.arrays.ctypesarrays import CtypesArrayHandler
cls.loadModule(CtypesArrayHandler, 'CtypesArrayHandler')
from OpenGL.arrays.ctypesparameters import CtypesParameterHandler
cls.loadModule(CtypesParameterHandler, 'CtypesParameterHandler')
from OpenGL.arrays.nones import NoneHandler
cls.loadModule(NoneHandler, 'NonesHandler')
from OpenGL.arrays.lists import ListHandler
cls.loadModule(ListHandler, 'ListHandler')
from OpenGL.arrays.ctypespointers import CtypesPointerHandler
cls.loadModule(CtypesPointerHandler, 'CtypesPointerHandler')
from OpenGL.arrays.numbers import NumberHandler
cls.loadModule(NumberHandler, 'NumberHandler')
from OpenGL.arrays.numpymodule import NumpyHandler
cls.loadModule(NumpyHandler, 'NumpyHandler')
from OpenGL.arrays.strings import StringHandler
cls.loadModule(StringHandler, 'StringHandler')
#for entrypoint in pkg_resources.iter_entry_points(
# "OpenGL.arrays.formathandler"
#):
# try:
# entrypoint()
# raise RuntimeError(
# entrypoint
# )
# plugin_class = entrypoint.load()
# except ImportError, err:
# from OpenGL import logs
# log = logs.getLog( 'formathandler' )
# log.info(
# 'Unable to load registered array format handler %s:\n%s',
# entrypoint.name, log.getException( err )
# )
# else:
# handler = plugin_class()
# handler.register( handler.HANDLED_TYPES )
# cls.HANDLER_REGISTRY[ entrypoint.name ] = handler
# if hasattr( handler, 'zeros' ):
# cls.ALL_OUTPUT_HANDLERS.append( handler )
loadAll = classmethod( loadAll )
hehe.. akhirnya jalan juga.. walaupun di beberapa contoh sering terjadi Exception di GLUT loop handler.. duh, gatau lagi deh.. waktu liat jam, ternyata sudah jam setengah 2 pagi..
jadi ngantuk..
Filed under: hacking, programming | 3 Comments
Tags: eclipse, pkg_resources, pygame, PyOpenGL, python

asik kan python?
permisi mas boss kyknya jago phyton nih…,gue lagi belajar programmer denger2
phyton cocok buat pemula, mas boss punya tutor nya gak bagi donk…
Mas, saya udah coba programming dari wxpython di ubuntu 8.04, ada gak ya compilernya agar klo program yang kita buat bisa jalan juga di linux lainnya?? kan katany cross platform tu python.. TQ.