Mi sono guardato intorno su SO e le risposte che ho trovato sul mio problema non mi hanno ancora permesso di risolverlo.Virtualenv continua a caricare pacchetti di siti globali su Windows
voglio usare ambienti virtualenv isolati, ma per un motivo o un altro, virtualenv mantiene il caricamento di pacchetti del sito a livello mondiale, quando in guscio di Django ...
ho cercato di ripulire le variabili PATH, fino a che solo c: \ Python26 \ Scripts e c: \ Python26 rimangono. Quindi creo il mio ambiente.
virtualenv --distribute --no-site-packages myproject
Quindi attivare il virtualenv. PATH è ora (Vars irrilevanti demoliti):
PATH=E:\Development\django_projects\myproject\Scripts;C:\Panda3D-1.7.0\python;C:\Panda3D-1.7.0\bin;c:\python26\Scripts;
PYTHONPATH=C:\Panda3D-1.7.0\
Fin qui, tutto bene. Lancio python ...
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
Diciamo solo provare un modulo sono sicuro che è nella mia directory c: \ site-packages pitone.
>>> import BeautifulSoup
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named BeautifulSoup
Yay! Nessun pacchetto di siti globale! Alla successiva poi. Dal prompt dei comandi, digito:
django-admin.py
E funziona! Ma aspetta ... Non ho ancora installato Django. Com'è possibile?
Dopo questo, diventa ancora più strano ... Prima li aggiungo allo script activate.bat di virtualenv in modo che Django possa trovare le mie impostazioni.
set PYTHONPATH=E:\Development\django_projects\myproject\
set DJANGO_SETTINGS_MODULE=settings.development
Ora lanciare shell django-admin.py e
In [1]: import BeautifulSoup
In [2]: BeautifulSoup.__file__
Out[2]: 'C:\\Python26\\lib\\site-packages\\BeautifulSoup.pyc'
Come è possibile?
lampo di intuizione
Durante la digitazione questo, ho improvvisamente capito. .py è un'estensione di file accoppiato con il mio eseguibile c: \ python26 \ python.exe, invece di quello virtuale!
python manage.py
Traceback (most recent call last):
File "manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named django.core.management
Heh. Qualcuno ha qualche idea su come accoppiare l'estensione del file .py all'eseguibile python del virtualenv invece che all'eseguibile python definito dal sistema?
* come accoppiare l'estensione di file .py all'eseguibile python di virtualenv * Vedere [Perché non virtualenv su file associati a .py/.pyw/.pyo/.pyc di Windows con la versione di Python di eseguibili Python?] (Http : //stackoverflow.com/q/4879624/95735) e [Associazione file temporanei per singola sessione cmd.exe] (http://stackoverflow.com/q/5583024/95735) –