I need help installing pypng in Python 3.3

2012-10-29 Thread icgwh
Hello all,

I am very new to python. I am currently porting a little project of mine from 
java to python and I need to be able to construct and write png images. I 
naturally turned myself toward pypng to accomplish this.

I learned from the net that pypng 0.0.13 is supposed to work in Python 3.x when 
run through '2to3'. However, in my case, it apparently does not. 

I ran into various problems when trying to install it, some of them I could fix 
myself. First I attempted to install pip but I couldn't get Windows to 
recognize pip as an internal command as the prompt informs me.
Then I tried to directly run "setup.py install" from the pypng folder. It 
didn't work as I got a syntax error. I noticed that in the beginning of the 
installation process, the following warning was displayed: "conf[use_2to3 = 
true] unrecognized configuration option"

At that point I was already pretty pissed but I managed to make the warning 
disappear by updating (installing?) distribute. After that there are no more 
errors during the installation process and everything seems to work fine. (This 
seems still strange to me as 2to3 was present in Tools/Script out of the box)


I use pydev in Eclipse and pydev reports several error in png.py anytime I want 
to import or use it. When trying to import from IDLE I get:

except ValueError, e:
 ^
Syntax error, line 1863

that paricular error I was able to fix by changing it to "except ValueError as 
e:" but I don't understand why 2to3 didn't do it automatically.
There are several more errors reported by pydev, here are a few:

line 1368 : "raise ValueError('Chunk %s too short for checksum.', tag)"
Undefined variable: tag

line 2736 : "rows = [map(numpy.uint16, range(0,0x1,0x))]"
Undefined variable from import: uint16


The second one made me suspect I needed to install numpy too. As there are no 
installers for numpy aimed toward Python3.3.

I decided to install Python2.7 and retry the whole process. Unfortunately I 
didn't get much more success. I get the exact same errors in pydev when using 
the 2.7 version of the interpreter and I cannot install numpy either because 
when I run the .exe file aimed toward Python 2.7 i get the error message:

"Python version 2.7 required, which was not found in the registry"

I then have the option to manually enter the path to Python 2.7 but the 
textform is greyed out and I can't type in anything.


At that point I decided to go look for help and Here I am...

I am truly grateful to anyone who takes the time to help me in this matter.
Thank you!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: I need help installing pypng in Python 3.3

2012-10-29 Thread icgwh
I probably should have mentioned that I'm under W7 ultimate x64, I'm using 
eclipse Juno (latest) and pydev 2.7.1
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: I need help installing pypng in Python 3.3

2012-10-29 Thread icgwh
That's very kind of you but I don't think it would be particularly fitted to my 
needs. The program I'm trying to code creates an image as an 2D array of 
"pixels" which is defined by RGBA value. My program needs to access and 
modifies every component of every pixels in the image following a set of rules, 
kind of like the game of life, only more complex.

In fact I only need a library to "push" this array of pixels in a displayable 
format for the GUI and in PNG format to write the image to disk. I don't need 
to do any fancy stuff with the image, just being able to display and write it.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: I need help installing pypng in Python 3.3

2012-10-29 Thread icgwh
> 
> Do you have the file c:\Python33\Lib\site-packages\pypng-0.0.13-py3.3.egg  ?
> 
> If not, you have not successfully installed pypng. Please try one of
> 
> the methods I gave above.

Yes I do have the egg. 

I'm gonna try to summarize:

I don't have installations problems anymore but it seems that png.py is not run 
through 2to3 although it should since the setup.py is properly configured:

if sys.version_info >= (3,):
conf['use_2to3'] = True

I even tried to skip the if to ensure the second line is executed but nothing 
changed.

I don't know what I'm doing wrong but it seems that png.py is not properly 
translated to Python 3.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: I need help installing pypng in Python 3.3

2012-10-30 Thread icgwh
On Monday, October 29, 2012 3:48:09 PM UTC+1, Andrew Robinson wrote:
> On 10/29/2012 06:39 AM, ic...@tagyourself.com wrote:
> 
> > That's very kind of you but I don't think it would be particularly fitted 
> > to my needs. The program I'm trying to code creates an image as an 2D array 
> > of "pixels" which is defined by RGBA value. My program needs to access and 
> > modifies every component of every pixels in the image following a set of 
> > rules, kind of like the game of life, only more complex.
> 
> >
> 
> > In fact I only need a library to "push" this array of pixels in a 
> > displayable format for the GUI and in PNG format to write the image to 
> > disk. I don't need to do any fancy stuff with the image, just being able to 
> > display and write it.
> 
> >
> 
> >
> 
> Then, actually, what I am suggesting was *almost* perfect.
> 
> To do transparency, you need to write the portable any map (PAM) formation.
> 
> 
> 
> Simply print a text header to a file which says:
> 
> 
> 
> P7
> 
> WIDTH 10
> 
> HEIGHT 10
> 
> DEPTH 4
> 
> MAXVAL 255
> 
> TUPLTYPE RGB_ALPHA
> 
> ENDHDR
> 
> 
> 
> And then dump your 2D array to that same file.
> 
> A very quick example in 17 lines of code:
> 
> 
> 
> io = open( "anyname.pam","w")
> 
> x,y = 10,10
> 
> gray=(128,128,128,255) # R,G,B,A value
> 
> picture = [ [ gray ] * x ] * y # Make a blank gray canvas 2D array
> 
> 
> 
> # Do whatever you want to the 2D picture array here!
> 
> 
> 
> io.write( "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE 
> 
> RGB_ALPHA\nENDHDR\n" % (x,y) )
> 
> 
> 
> for yi in xrange( y ):
> 
>  for xi in xrange( x ):
> 
>  pixel = picture[yi][xi]
> 
>  io.write( chr(pixel[0]) ) # R value
> 
>  io.write( chr(pixel[1]) ) # G value
> 
>  io.write( chr(pixel[2]) ) # B value
> 
>  io.write( chr(pixel[3]) ) # A value
> 
>  io.flush()
> 
> 
> 
> io.close()
> 
> 
> 
> And that's it.  You may of course make this more efficient -- I'm just 
> 
> showing it this way for clarity.
> 
> Many programs can read PAM directly; but for those that can't you can 
> 
> use nettools, or imagemagick, to convert it to PNG.

That's really interesting! Thank you so much! Never heard of PAM before... I  
will try that!
-- 
http://mail.python.org/mailman/listinfo/python-list