Domanda

Sto cercando di configurare il server WAMP. Ho Apache funziona correttamente, e ho installato mod_wsgi senza intoppi.

Il problema è che sto usando ambienti virtuali (usando virtualenv) per i miei progetti. Così, ovviamente, mod_wsgi sta avendo problemi di localizzare la mia installazione di Django.

Sto cercando di capire come posso ottenere mod_wsgi per lavorare bene con i virtualenvs. La documentazione sembra pensare questo non è possibile:

  

Si noti che la direttiva WSGIPythonHome può essere utilizzato solo su sistemi UNIX e non è disponibile sui sistemi Windows. Questo perché nei sistemi Windows il percorso della DLL Python sembra essere quello in cui dettami Python cercherà i file di libreria Python. Non si sa a questo punto, come si possa creare un ambiente distinto di base indipendente dalla installazione principale di Python su Windows.

Da qui:. mod_wsgi + virtualenv docs

Qualcuno ha qualche idea su come fare questo lavoro?

È stato utile?

Soluzione

È possibile attivare l'ambiente di programmazione Python da aggiungere questo al file .wsgi prima di importare qualsiasi altra cosa.

di virtualenv docs :

  

A volte non si può o non si vuole   utilizzare l'interprete Python creato da   il virtualenv. Ad esempio, in un   mod_python o ambiente mod_wsgi,   c'è solo un interprete.

     

Per fortuna, è facile. È necessario utilizzare il   personalizzato interprete Python per l'installazione   librerie. Ma per utilizzare le librerie, è   basta per essere sicuri che il percorso è   corretta. Uno script è a disposizione   correggere il percorso. È possibile impostare la   ambiente come:

activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
     

Questo cambierà sys.path e anche   cambiare sys.prefix, ma anche di consentire   di utilizzare un interprete esistente. Elementi   nel proprio ambiente verrà visualizzato prima   su sys.path, prima delle operazioni globali.   Tuttavia, questo non può annullare il   attivazione di altri ambienti, o   I moduli che sono stati importati. voi   non dovrebbe cercare di, per esempio,   attivare un ambiente prima di una web   richiesta; si dovrebbe attivare una   ambiente il più presto possibile, e   Non farlo di nuovo in quel processo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top