¿Qué archivo edito y cómo? Creé un entorno virtual.
virtualenvwrapper
comando. No es parte de virtualenv
.
¿Qué archivo edito y cómo? Creé un entorno virtual.
virtualenvwrapper
comando. No es parte de virtualenv
.
Respuestas:
EDITAR # 2
La respuesta correcta es la de @arogachev .
Si desea cambiar el PYTHONPATH
usado en un virtualenv, puede agregar la siguiente línea al bin/activate
archivo de su virtualenv :
export PYTHONPATH="/the/path/you/want"
De esta manera, el nuevo PYTHONPATH
se establecerá cada vez que use este virtualenv.
EDITAR: (para responder al comentario de @ RamRachum)
Para restaurarlo a su valor original deactivate
, puede agregar
export OLD_PYTHONPATH="$PYTHONPATH"
antes de la línea mencionada anteriormente y agregue la siguiente línea a su bin/postdeactivate
secuencia de comandos.
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate
?
PYTHONPATH
ruta predeterminada (la global) en lugar de la ruta local virtualenv?
El comentario de @ s29 debería ser una respuesta:
Una forma de agregar un directorio al entorno virtual es instalar virtualenvwrapper (que es útil para muchas cosas) y luego hacer
mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path
Si desea eliminar esta ruta, edite el archivo myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
La documentación sobre virtualenvwrapper se puede encontrar en http://virtualenvwrapper.readthedocs.org/en/latest/
La documentación específica sobre esta función se puede encontrar en http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv
add2virtualenv -d
Puede crear un .pth
archivo que contenga el directorio a buscar y colocarlo en el site-packages
directorio. P.ej:
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth
El efecto es el mismo que añadir /some/library/path
a sys.path
, y permanecer local para la virtualenv
instalación.
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
. Documentos sobre archivos .pth: docs.python.org/3.6/library/site.html
pushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popd
Luego desactivé mi virtualenv y lo reactivé. Ahora podía ejecutar el código del proyecto que requería saber dónde estaba el directorio de mi proyecto.
/bin/activate
) es una mala práctica y la instalación de herramientas de terceros es inferior a utilizar una forma integrada para lograr lo mismo.
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
Modifiqué mi script de activación para obtener el archivo .virtualenvrc
, si existe en el directorio actual, y para guardar / restaurar PYTHONPATH
al activar / desactivar.
Puede encontrar el activate
script parcheado aquí. . Es un reemplazo directo del script de activación creado por virtualenv 1.11.6.
Luego agregué algo como esto a mi .virtualenvrc
:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
Ya está respondido aquí -> ¿Mi entorno virtual (python) está causando que mi PYTHONPATH se rompa?
Agregue "export PYTHONPATH = / usr / local / lib / python2.0" a este archivo ~ / .bashrc y obtenga la fuente escribiendo "source ~ / .bashrc" O ". ~ / .Bashrc".
1) Vaya al panel de control 2) Haga doble clic en Sistema 3) Vaya a la pestaña Avanzado 4) Haga clic en Variables de entorno
En la ventana Variables del sistema, verifique si tiene una variable llamada PYTHONPATH. Si ya tiene uno, verifique que apunte a los directorios correctos. Si aún no tiene uno, haga clic en el botón Nuevo y créelo.
Alternativamente, también puede hacer debajo de su código: -
import sys
sys.path.append("/home/me/mypy")