Hoe weet je of Pyramid/python de juiste .egg-bus aan het laden is?

Dit is een rare vraag, maar het heeft me de laatste 3 uur gek gemaakt. Ik wilde spelen met een op piramide gebaseerd cms Kotti en ik heb een fout gemaakt door het eerst te installeren met easy_install ( sudo easy_install kotti ). Ik krijg raar gedrag en ik weet niet zeker of het de manier is waarop het programma zelf werkt of de manier waarop ik het heb geïnstalleerd.

Ik wil sommige delen van de code wijzigen en zien hoe het werkt, maar mijn wijzigingen worden niet doorgevoerd. Nadat ik het had geïnstalleerd via easy_install deed ik:

virtualenv mysite --no-site-packages
bin/easy_install pyramid
git clone https://github.com/Pylons/Kotti.git
cd Kotti
sudo ../bin/python setup.py develop
../bin/pserve app.ini --reload

Ik ging naar 127.0.0.0.0:5000 en zag dat het werkte. De eerste pagina bevat de tekst 'Gefeliciteerd! Je hebt Kotti geïnstalleerd'. dus ik ging naar de kotti-directory en deed een grep "Gefeliciteerd" *. * en ontdekte dat deze afkomstig was van populate.py . Dus ik opende het bestand en veranderde de regel in een ander stuk tekst en bewaarde. Omdat ik de markering -reload op pserve heb, heb ik gemerkt dat het mijn code op de terminal heeft geladen en toen ik terugging naar de site, veranderden de gegevens niet.

Ik ben zo in de war omdat de server herlaadt wanneer ik de python-code verander, dus het ziet de wijziging maar wordt niet weerspiegeld in de browser (alleen om te testen of het de browsercache was, probeerde ik het met andere browsers en wist ik de cache).

Om het even welke ideeën?

3
ja ru de
De module vullen genereert alleen een nieuw hoofddocument als er nog geen bestaat; het veranderen van de code zal het reeds gegenereerde document niet veranderen.
toegevoegd de auteur Martijn Pieters, de bron

2 antwoord

Wanneer u voor de eerste keer een Kotti-webtoepassing uitvoert, zoals bij de meeste CMS-systemen, voert deze een set methoden voor gegevenspopulatie uit (inclusief de populate.py-code die u hebt genoemd) om een ​​database in te stellen en alle inhoud in te voegen die u te zien krijgt. De --reload vertelt de distributieserver alleen dat hij naar bestandswijzigingen moet kijken terwijl u aan het bestandssysteem werkt.

Als u de installatie-/populatiecode opnieuw wilt uitvoeren, moet u de gemaakte database verwijderen. Als u geen wijzigingen hebt aangebracht in hun voorbeeldbestand app.ini, is dit waarschijnlijk Kotti.db.

U kunt ook de CMS gebruiken om de wijzigingen aan te brengen, zoals bedoeld door de CMS-systemen.

4
toegevoegd

Als u python -v uitvoert, wordt alle invoer weergegeven

3
toegevoegd