python27, windows 8.1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

python27, windows 8.1

Marc Stevens
Geachte Heer, Mevrouw
 
Hoi, ik heb een vraag. Eigenlijk 3.
Ten eerste vraag ik me af of python 2.7 werkt onder windows 8.1.
Het werkt wel, maar als ik de python idle open vanuit het start menu, komen er meteen 5 pop-up schermen i.p.v. 1.
 
Vraag 2:
Ik heb het volgende eenvoudige programmaatje geschreven dat controleerd of de invoer van de postcode controleerd.
Dit werkt onder 2.7, maar als ik dat programmaatje wil delen met anderen en ik wil het omzetten met CX_FREEZE geeft hij aan dat er modulus ontbreken.
Ik heb voor de handigheid het programmaatje bijgevoegd, plus het setup bestandje voor cx-freeze. De computer geet ook aan dat er in regel 2 iets niet klopt, vandaar dat ik dat bestandje heb bijgevoegd. Misschien heb ik een type fout over het hoofd gezien.
Ik hou het goed voor mogelijk dat cx-freeze niet meer geschikt is voor windows 8.1
 
Vraag 3:
Als cx-freeze niet meer van deze tijd is, is cython dan iets waar ik mee uit de voeten zou kunnen om bestanden te kunnen delen op een willekeurige PC.
 
BVD,
 
                                            Marc Stevens.
 
 
 
while 1:
    invoer=raw_input ("Geef postcode in")
    if invoer==("stop"):break
    lengte=len(invoer)
    if lengte==6:
        cijfers=invoer[:4]
        if cijfers.isdigit():
            getal=int(cijfers)
            print getal
            letters=invoer[-2:]   
            print letters
            if letters.isdigit():
                print("Verkeerde invoer")
            else:
                print ("uw postcode is:")+ invoer
        else :
            print ("Verkeerde invoer")
    else :
        print("Verkeerde invoer")
   
print ("Dank u wel!")
 
 
 
 
 
import sys
from cx_Freeze import setup, Executable
 
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
 
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
    base = "Win32GUI"
 
setup(  name = "postcode",
        version = "0.1",
        description = "My GUI application!",
        options = {"build_exe": build_exe_options},
        executables = [Executable("postcode.py", base=base)])
 
 
 
 
try:
    import idlelib.PyShell
except ImportError:
    # IDLE is not installed, but maybe PyShell is on sys.path:
    try:
        import PyShell
    except ImportError:
        raise
    else:
        import os
        idledir = os.path.dirname(os.path.abspath(PyShell.__file__))
        if idledir != os.getcwd():
            # We're not in the IDLE directory, help the subprocess find run.py
            pypath = os.environ.get('PYTHONPATH', '')
            if pypath:
                os.environ['PYTHONPATH'] = pypath + ':' + idledir
            else:
                os.environ['PYTHONPATH'] = idledir
        PyShell.main()
else:
    idlelib.PyShell.main()

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: python27, windows 8.1

Jaap Broekhuizen

Marc,

Kan je de output die cx_freeze geeft als je het draait hier ook even toesturen? Dat zal een hoop schelen bij het oplossen van je problemen.

Mvg
Jaap

Op 14 mei 2015 12:58 schreef "Marc Stevens" <[hidden email]>:
Geachte Heer, Mevrouw
 
Hoi, ik heb een vraag. Eigenlijk 3.
Ten eerste vraag ik me af of python 2.7 werkt onder windows 8.1.
Het werkt wel, maar als ik de python idle open vanuit het start menu, komen er meteen 5 pop-up schermen i.p.v. 1.
 
Vraag 2:
Ik heb het volgende eenvoudige programmaatje geschreven dat controleerd of de invoer van de postcode controleerd.
Dit werkt onder 2.7, maar als ik dat programmaatje wil delen met anderen en ik wil het omzetten met CX_FREEZE geeft hij aan dat er modulus ontbreken.
Ik heb voor de handigheid het programmaatje bijgevoegd, plus het setup bestandje voor cx-freeze. De computer geet ook aan dat er in regel 2 iets niet klopt, vandaar dat ik dat bestandje heb bijgevoegd. Misschien heb ik een type fout over het hoofd gezien.
Ik hou het goed voor mogelijk dat cx-freeze niet meer geschikt is voor windows 8.1
 
Vraag 3:
Als cx-freeze niet meer van deze tijd is, is cython dan iets waar ik mee uit de voeten zou kunnen om bestanden te kunnen delen op een willekeurige PC.
 
BVD,
 
                                            Marc Stevens.
 
 
 
while 1:
    invoer=raw_input ("Geef postcode in")
    if invoer==("stop"):break
    lengte=len(invoer)
    if lengte==6:
        cijfers=invoer[:4]
        if cijfers.isdigit():
            getal=int(cijfers)
            print getal
            letters=invoer[-2:]   
            print letters
            if letters.isdigit():
                print("Verkeerde invoer")
            else:
                print ("uw postcode is:")+ invoer
        else :
            print ("Verkeerde invoer")
    else :
        print("Verkeerde invoer")
   
print ("Dank u wel!")
 
 
 
 
 
import sys
from cx_Freeze import setup, Executable
 
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
 
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
    base = "Win32GUI"
 
setup(  name = "postcode",
        version = "0.1",
        description = "My GUI application!",
        options = {"build_exe": build_exe_options},
        executables = [Executable("postcode.py", base=base)])
 
 
 
 
try:
    import idlelib.PyShell
except ImportError:
    # IDLE is not installed, but maybe PyShell is on sys.path:
    try:
        import PyShell
    except ImportError:
        raise
    else:
        import os
        idledir = os.path.dirname(os.path.abspath(PyShell.__file__))
        if idledir != os.getcwd():
            # We're not in the IDLE directory, help the subprocess find run.py
            pypath = os.environ.get('PYTHONPATH', '')
            if pypath:
                os.environ['PYTHONPATH'] = pypath + ':' + idledir
            else:
                os.environ['PYTHONPATH'] = idledir
        PyShell.main()
else:
    idlelib.PyShell.main()

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: python27, windows 8.1

Marc Stevens
Beste Jaap,
 
Hierbij stuur ik een korte samenvatting van de gevraagde uitvoer van cx_Freeze.
Het eerste gedeelte is de samen gevatte uitvoer in het cmd venster als het commando ‘build’ wordt ingevoerd.
Hierna komt de volledige foutmeldings text dat verschijnt als het exe programmaatje uit de map build word gestart.
BVD,
 
                                Marc Stevens.
 
 
 
C:\python27\python.exe setup.py build
running build
running build_exe
create ditectory build\exe.win32-2.7
copying c:\python27\lib\site-packages\cx_Freeze\bases\win32gui.exe->build\exe.
win32-2.7\postcode.exe
copying c:\windows\system32\python27.dll->build\exe.win32-2.7\python27.dll
***warning*** unable to create version resource
install pywin32 extension first
writing zip file build\exe.win32-2.7\library.zip
 
 
 
 
name                                                     file
____                                                     ____
 
m Build-constants
m StringIO
m bz                                                     c:\python27\DLLs\bz2.pyd
m cx-Freeze_init_                                        c:\python27\lib\site-packages\cx_Freeze\initscripts\console.py
p encodings
m encodings-aliases
m postcode_main_                                          postcode.py
m unicodedata                                             c:\python27\DLLs\unicodedata.pyd
 
Missing modules:
? _emx_link imported from os
? cStringIO imported from encoding. quopri_codec, encodings.uu_codec, quopri
? ce imported from os
? getopt import from base 64, quopri
? org.python.core imported from copy
? os.path imported os
? os2 imported from posixpath
? os2 emxpath imported from os
? Posix imported from os
? pwd imported from posixpath
? re imported from base64, encodings.idna, posixpath, stings, warnings
? riscos imported from os
? riscosenviroment imported from os
? riscospath imported from os
? subprocess imported from os
This is not neceserily a problem-the modules may not be needed on this platform
 
copying c:\python27\DLLs\bz2.pyd->build\exe.win32-27\bz2pyd
 
 
Foutmelding:
 
Traceback (most recent call lost):
    file”c:\python\lib\site-packages\cx_Freeze\initscripts Console.py”,
line 27, in <module>
          exec(code, m._dict_)
       file “postcode.py”,line 2, in <module>
EOF Error: EOF when reading a line.
 
 
 
 
 
 
 
 
 
Sent: Thursday, May 14, 2015 1:19 PM
Subject: Re: [python-nl] python27, windows 8.1
 

Marc,

Kan je de output die cx_freeze geeft als je het draait hier ook even toesturen? Dat zal een hoop schelen bij het oplossen van je problemen.

Mvg
Jaap

Op 14 mei 2015 12:58 schreef "Marc Stevens" <[hidden email]>:
Geachte Heer, Mevrouw
 
Hoi, ik heb een vraag. Eigenlijk 3.
Ten eerste vraag ik me af of python 2.7 werkt onder windows 8.1.
Het werkt wel, maar als ik de python idle open vanuit het start menu, komen er meteen 5 pop-up schermen i.p.v. 1.
 
Vraag 2:
Ik heb het volgende eenvoudige programmaatje geschreven dat controleerd of de invoer van de postcode controleerd.
Dit werkt onder 2.7, maar als ik dat programmaatje wil delen met anderen en ik wil het omzetten met CX_FREEZE geeft hij aan dat er modulus ontbreken.
Ik heb voor de handigheid het programmaatje bijgevoegd, plus het setup bestandje voor cx-freeze. De computer geet ook aan dat er in regel 2 iets niet klopt, vandaar dat ik dat bestandje heb bijgevoegd. Misschien heb ik een type fout over het hoofd gezien.
Ik hou het goed voor mogelijk dat cx-freeze niet meer geschikt is voor windows 8.1
 
Vraag 3:
Als cx-freeze niet meer van deze tijd is, is cython dan iets waar ik mee uit de voeten zou kunnen om bestanden te kunnen delen op een willekeurige PC.
 
BVD,
 
                                            Marc Stevens.
 
 
 
while 1:
    invoer=raw_input ("Geef postcode in")
    if invoer==("stop"):break
    lengte=len(invoer)
    if lengte==6:
        cijfers=invoer[:4]
        if cijfers.isdigit():
            getal=int(cijfers)
            print getal
            letters=invoer[-2:]   
            print letters
            if letters.isdigit():
                print("Verkeerde invoer")
            else:
                print ("uw postcode is:")+ invoer
        else :
            print ("Verkeerde invoer")
    else :
        print("Verkeerde invoer")
   
print ("Dank u wel!")
 
 
 
 
 
import sys
from cx_Freeze import setup, Executable
 
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
 
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
    base = "Win32GUI"
 
setup(  name = "postcode",
        version = "0.1",
        description = "My GUI application!",
        options = {"build_exe": build_exe_options},
        executables = [Executable("postcode.py", base=base)])
 
 
 
 
try:
    import idlelib.PyShell
except ImportError:
    # IDLE is not installed, but maybe PyShell is on sys.path:
    try:
        import PyShell
    except ImportError:
        raise
    else:
        import os
        idledir = os.path.dirname(os.path.abspath(PyShell.__file__))
        if idledir != os.getcwd():
            # We're not in the IDLE directory, help the subprocess find run.py
            pypath = os.environ.get('PYTHONPATH', '')
            if pypath:
                os.environ['PYTHONPATH'] = pypath + ':' + idledir
            else:
                os.environ['PYTHONPATH'] = idledir
        PyShell.main()
else:
    idlelib.PyShell.main()

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl


_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: python27, windows 8.1

Jochem Oosterveen

On 14 May 2015 at 23:07:57, Marc Stevens ([hidden email]) wrote:
> ***warning*** unable to create version resource
> install pywin32 extension first

Wellicht pywin32 installeren?

Verder valt op dat je eerst van alles checkt voor iets te doen. Iets meer ‘pythonic’ is om iets gewoon te proberen en fouten dan af te handelen. Ik heb het geheel een klein beetje aangepast waarmee de conversie van de variabele getal naar een int wordt gedaan in een try/except block. Als dat niet lukt krijg je een ValueError terug, die vang ik hier af in de except. Gelijk ook de check dat letters geen digits zijn hierbij gestoken met een assert, die een AssertionError opwerpt als dat niet het geval is. Je kan dan toe met één keer die foutafhandeling schrijven. 

while 1:
    invoer = raw_input("Geef postcode in: ")
    if invoer == ("stop"):
        break
    lengte = len(invoer)
    if lengte == 6:
        cijfers = invoer[:4]
        letters = invoer[-2:]
        try:
            getal = int(cijfers)
            assert not letters.isdigit()
        except (ValueError, AssertionError):
            print("Verkeerde invoer")
            continue
        print getal
        print letters
        print ("uw postcode is:") + invoer
    else:
        print("Verkeerde invoer")
print ("Dank u wel!")


Je zou op deze manier ook nog de check op lengte weg kunnen werken. Wellicht nog een leuke oefening om bij extensie ook invoer met spatie tussen cijfers en letters toe te staan en wat specifiekere foutmeldingen te geven die de gebruiker laten weten wat er precies niet klopt aan de invoer.
_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: python27, windows 8.1

Wichert Akkerman
On 14 May 2015, at 23:38, Jochem Oosterveen <[hidden email]> wrote:

> Verder valt op dat je eerst van alles checkt voor iets te doen. Iets meer ‘pythonic’ is om iets gewoon te proberen en fouten dan af te handelen. Ik heb het geheel een klein beetje aangepast waarmee de conversie van de variabele getal naar een int wordt gedaan in een try/except block. Als dat niet lukt krijg je een ValueError terug, die vang ik hier af in de except. Gelijk ook de check dat letters geen digits zijn hierbij gestoken met een assert, die een AssertionError opwerpt als dat niet het geval is. Je kan dan toe met één keer die foutafhandeling schrijven.
>
> while 1:
>     invoer = raw_input("Geef postcode in: ")
>     if invoer == ("stop"):
>         break
>     lengte = len(invoer)
>     if lengte == 6:
>         cijfers = invoer[:4]
>         letters = invoer[-2:]
>         try:
>             getal = int(cijfers)
>             assert not letters.isdigit()
>         except (ValueError, AssertionError):
>             print("Verkeerde invoer")
>             continue
>         print getal
>         print letters
>         print ("uw postcode is:") + invoer
>     else:
>         print("Verkeerde invoer")
> print ("Dank u wel!”)

Regular expressions zijn helemaal ideaal hiervoor aangezien je daarmee al deze checks in één keer kan doen:

while True:
    invoer = raw_input("Geef postcode in: ")
    if invoer == "stop":
        break
    m = re.match("\s*(\d{4})\s*([A-Z]{2})\s*$", invoer.upper())
    if m is None:
        print("Verkeerde invoer")
    else:
        print("Uw postcode is: %s %s" % (m.group(1), m.group(2)))
print("Dank u wel!")

Bijkomend voordeel van deze versie is dat je ook spaties tussen de cijfers en de letters mag zetten. Ik geef best toe dat zo een regular expression er in eerste instantie wat magisch uit ziet, maar als je eenmaal door hebt hoe ze werken zijn ze ideaal.

Gr,
Wichert.

_______________________________________________
Python-nl mailing list
[hidden email]
https://mail.python.org/mailman/listinfo/python-nl
Loading...