2009-12-15 12 views
7

Tengo un problema con virtualenv. Lo uso de manera regular, lo uso en mi máquina de desarrollo y en varios servidores. Pero en este último servidor que traté de usar, tengo un problema.Error de importación con virtualenv

he creado un virtualenv con el argumento de los paquetes --no-sitio, y luego instalado algunos módulos de Python dentro del virtualenv. Puedo confirmar que los módulos están ubicados dentro de los paquetes de sitio virtualenvs y todo parece estar bien.

Pero cuando trato de hacer: source virtualenv/bin/activate y luego importar uno de los módulos python import modulename consigo un error de importación que dice que el módulo no lo existe. ¿Cómo es que esto está pasando? Parece que nunca se activa incluso aunque diga que sí.

Alguien tiene una idea de cómo solucionar este problema?

Respuesta

14

¿Hay un alias de fiesta activa en esta máquina para "pitón", por casualidad? Eso tendrá prioridad sobre las modificaciones PATH realizadas por activate, y podría causar que se use el binario python incorrecto.

intente ejecutar virtualenv/bin/python directamente (sin necesidad de activar) y ver si se puede importar su módulo.

Si esto lo arregla, sólo tiene que deshacerse de su alias de pitón bash.

+0

Gracias, eso fue todo. No pude entender cuál era la razón. ¿Ahora cómo hacer esto un cambio permanente para que no tenga que hacer venv/bin/python cada vez? – espenhogbakk

+0

Me encuentro con el mismo problema. ¿Cómo te deshaces de bash alias? – nutship

+0

Bueno, presumiblemente el alias se está creando con un comando 'alias' en algún lugar de los archivos de inicio bash: .bashrc o .bash_profile, o tal vez si estás en un sistema compartido hay algo configurado en un archivo de sistema como/etc/bash.bashrc? Solo tiene que encontrar dónde se está creando el alias, eliminar/comentar esa línea e iniciar un nuevo shell, y debería desaparecer. –

0

IIRC, la secuencia de comandos de activación sólo pone su env virtual como el primero en su camino, por lo que cuando se escribe "pitón" que encuentra el de su env virtual como el primero. Si el script de activación falla, siempre puede editar su ruta manualmente. Además, vaya aquí y busque "activar": http://pylonsbook.com/en/1.1/installing-pylons.html#setting-up-a-virtual-python-environment. Esto te dirá por qué el comando de activación puede fallar.

5

Después de activar el env virtual, probar:

$ python 
>>> import sys 
>>> sys.executable 
... 

... y ver si está ejecutando el ejecutable esperado.

También puedes ver:

>>> sys.path 
[...] 
Cuestiones relacionadas