Windows genererer ikke Python Compiled Files

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har i øjeblikket i et Windows 7-miljø udviklet en Pyramid-webapplikation. Jeg havde udviklet denne app på min Mac, men det er for nylig døde, så jeg har flyttet til min Windows-maskine.


Jeg har oprettet alt, hvad jeg har brug for, Python 2.7, Pyramid, Pyramid\_Beaker, MongoDB, Mongoengine osv.


Det syntes at fungere, mens jeg redigerede skabeloner. Men da jeg forsøgte at redigere en visning for at tilføje en ny side til appen, synes det ikke at være muligt at finde den. Jeg tilføjede følgende ruter:


config.add\_route('info\_about','/info/about')
config.add\_route('info\_contact','/info/contact')
config.add\_route('info\_copyright','/info/copyright')
config.add\_route('info\_privacy','/info/privacy')
config.add\_route('info\_terms','/info/terms')


... der håndteres af en view\_config dekorator som sådan:


@view\_config(route\_name='info\_about', renderer="myproject:templates/info/about.mako", permission='all')
def info\_about(request):
    <code goes here>


Dette er i en info.py fil i undermappen under visning (som indeholder en \_\_init\_\_.py fil). Denne metode har fungeret, da jeg var på min Mac, men nu, da jeg har forsøgt på Windows, synes det ikke at fungere (det kaster en 404 Ikke fundet side op, når man prøver at få adgang til det).


Efter lidt undersøgelse fandt jeg, at .pyc versionen af ​​info.py (den udarbejdede version) ikke eksisterer. info.py er ny og blev tilføjet på Windows-maskinen. Som en prøve forsøgte jeg at redigere en fil, der blev oprettet på Mac'en og genstarte testserveren. Det har heller ikke ændret .pyc modparten, så jeg ledede til at antage, at Windows ikke producerer .pyc versionen af ​​pythonfilerne.


Er dette et almindeligt problem, og vigtigere er der en løsning? (Jeg må antage, at der er ...)

Bedste reference


Beklager, dit spørgsmål er ikke klart nok. Det ser ud til, at du har en form for læs/skrive tilladelsesproblemer og genererer * .pyc har intet at gøre med det.


* .pyc indeholder Python bytecode, faktisk er det bare for at indlæse de originale * .py filer hurtigere. Hver gang Python læser en * .py-fil med succes og kan skrive (!) I samme mappe, opretter den en tilsvarende * .pyc-fil.


For mere information se kompilerede python-filer. [10]