virtualenv –no-site-packages no funciona para mí

virtualenv --no-site-packages v1 cd v1\Scripts activate.bat python -c "import django" # - no problem here 

¿Por qué ve el paquete Django? Debería darme un error de importación, ¿verdad?

Simplemente desarmar la variable de entorno PYTHONPATH . La idea de virtualenv es que puede crear su propio entorno (completamente aislado o extendiendo el predeterminado) para que no tenga que meterse con eso.

Como alguien notó, ya ha habido una pregunta similar en SO . Léelo si necesitas una mejor explicación.

No debe generar ningún ImportError siempre que haya un paquete django en sys.path .

Si te estás preguntando de dónde viene django , ejecuta:

 python -c "import django; print django.__file__" 

A continuación, compruebe la ruta de búsqueda del módulo de Python.

ACTUALIZACIÓN: Como se señaló en los comentarios: Tenga en cuenta que la --no-site-packages en virtualenv solo elimina el directorio de paquetes de sitio estándar de sys.path . Los otros caminos siguen siendo los mismos.