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.. :P , 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.. :P jadi ngantuk..



3 Responses to “Belajar Python Dadakan”  

  1. 1 iang

    asik kan python? :D

  2. permisi mas boss kyknya jago phyton nih…,gue lagi belajar programmer denger2
    phyton cocok buat pemula, mas boss punya tutor nya gak bagi donk…

  3. 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.


Leave a Reply