Configuré PyCharm, creé mi virtualenv (ya sea a través del comando env virtual o directamente en PyCharm) y activé ese entorno como mi intérprete. Todo está funcionando bien.
Sin embargo, si abro una terminal usando "Herramientas, Abrir terminal", el indicador de shell proporcionado no usa el entorno virtual; Todavía tengo que usar source ~/envs/someenv/bin/activate
dentro de ese Terminal para activarlo.
Otro método es activar el entorno en un shell y ejecutar PyCharm desde ese entorno. Esto es "viable" pero bastante feo, y significa que tengo problemas importantes si cambio de entorno o proyecto desde PyCharm: ahora estoy usando el entorno totalmente incorrecto.
¿Existe alguna otra forma mucho más fácil de hacer que "Herramientas, Abrir Terminal" active automáticamente el entorno virtual?
~/pycharmenv/bin/terminalactivate
suena como una buena opción..pycharmrc
en la carpeta de inicio del proyecto, de modo que puedo tener un archivo diferente para cada proyecto. En un proyecto configurado correctamente, no es necesario proporcionar la ruta absoluta al.pycharmrc
archivo.Actualizar:
Las preferencias en Configuración (Preferencias) | Herramientas Los terminales son globales.
Si usa un venv para cada proyecto, recuerde usar la variable de ruta actual y un nombre de venv predeterminado:
Para usuarios de Windows: cuando use PyCharm con un entorno virtual, puede usar el
/K
parámetro paracmd.exe
para configurar el entorno virtual automáticamente.PyCharm 3 o 4:
Settings
,Terminal
,Default shell
y añadir/K <path-to-your-activate.bat>
.PyCharm 5:
Settings
,Tools
,Terminal
, y añadir/K <path-to-your-activate.bat>
aShell path
.PyCharm 2016,1 2016,2 o:
Settings
,Tools
,Terminal
, y añadir""/K <path-to-your-activate.bat>""
aShell path
y añadir (la mente las comillas). También agregue comillas alrededor de cmd.exe, lo que resultará en:"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""
fuente
%CD%
es el directorio de trabajo actual, consulte el comando de shell de Windows para obtener la ruta completa al directorio actual?Para los usuarios de Windows que utilizan PyCharm y un entorno virtual en Windows, puede utilizar el parámetro / k en cmd.exe para configurar el entorno virtual automáticamente.
Vaya a Configuración, Terminal, Shell predeterminado y agregue
/K <path-to-your-activate.bat>
.No tengo la reputación de comentar sobre la respuesta anterior, así que publico esta versión corregida. Esto realmente ahorra MUCHO tiempo.
Actualizar:
Nota: Pycharm ahora admite entornos virtuales directamente y parece funcionar bien para mí, por lo que mi solución ya no es necesaria.
fuente
Basándome en las respuestas de Peter y la experimentación, he encontrado una buena "solución general", que resuelve lo siguiente:
Suelta este script en un directorio bin en algún lugar. Por ejemplo, ~ / bin / pycharmactivate
Luego establezca la ruta de Shell de PyCharm en:
fuente
if [ -r "/etc/profile" ] ; then . /etc/profile ; fi if [ -r "~/.bash_profile" ] ; then . ~/.bash_profile elif [ -r "~/.bash_login" ] ; then . ~/.bash_login elif [ -r "~/.profile" ] ; then . ~/.profile fi source ~/learnp/project1/venv/bin/activate
PyCharm 4 ahora tiene virtualenvs integrados en el IDE. Al seleccionar el intérprete de su proyecto, puede crear, agregar o seleccionar un virtualenv. Han agregado una "consola Python" que se ejecuta en el intérprete del proyecto configurado.
Más info aquí.
fuente
source /path/to/venv/bin/activate
manualmente en la terminal.Gracias Chris, tu guión funcionó para algunos proyectos pero no todos en mi máquina. Aquí hay un guión que escribí y espero que alguien lo encuentre útil.
fuente
source /etc/profile
al comienzo del archivo ~ / .pycharmrc (en Mac Yosemite) 2) En Pycharm edite Preferences> Tools> Terminal> Shell path to "/ bin / bash --rcfile ~ / .pycharmrc"He visto todas las respuestas anteriores, pero ninguna es lo suficientemente elegante para mí. En Pycharm 2017.1.3 (en mi computadora), la forma más fácil es abrir
Settings->Tools->Terminal
y verificarShell integration
yActivate virtualenv
opciones.fuente
Si está utilizando la versión de Windows, es bastante fácil. Si ya tiene el entorno virtual, navegue hasta su carpeta, busque la carpeta
activate.bat
interiorScripts
. copie su ruta completa y péguela en la terminal de pycharm y luego presioneEnter
y listo.Si necesita crear un nuevo entorno virtual:
Vaya a archivos> configuración, luego busque
project interpreter
, ábralo, haga clic en el botón de engranaje y cree el entorno donde desee y luego siga el primer párrafo.fuente
activate.bat
para cada uno de ellos?activate.bat
archivos separados . si le gusta la respuesta, no dude en votar;)Scripts
carpeta. También Pycharm se queja de queactivate.bat
no es un SDK de Python válidoactivate
archivo por lotes dentro de ella. o si es posible para ti, simplemente crea un nuevo entorno.En Mac es PyCharm => Preferencias ... => Herramientas => Terminal => Activar virtualenv , que debería estar habilitado por defecto.
fuente
Acabo de agregar un script llamado pycharmactivate a mi directorio de inicio. Establezca el valor de PyCharm (4.0.1) Archivo> Configuración> Herramientas> Terminal> Ruta del shell a / bin / bash --rcfile ~ / pycharmactivate. Tal vez no sea la mejor solución en caso de que tenga diferentes directorios / nombres de proyectos y virtualenv, pero a mí me funciona. Este script contiene las siguientes 3 líneas y asume que su virtualenv tiene el mismo nombre que el directorio de su proyecto.
fuente
Siguiendo con la respuesta de Peter, aquí la versión para Mac del
.pycharmrc
archivo:Gallina
fuente
Tengo una solución que funcionó en mi máquina con Windows 7.
Creo que la terminal de PyCharm es el resultado de su ejecución
cmd.exe
, que cargará laPATH
variable de Windows y usará la versión de Python que encuentre primero dentro de ellaPATH
. Para editar esta variable, haga clic con el botón derecho en Mi PC -> Propiedades -> Configuración avanzada del sistema -> pestaña Avanzado -> Botón Variables de entorno ... Dentro de la sección Variables del sistema , seleccione y edite elPATH
variable.Aquí está la parte relevante de mi
PATH
antes de editar:... y después de editar
PATH
(solo 3 líneas ahora):Para probar esto, abra una nueva terminal de Windows ( Inicio -> escriba
cmd
y presione Enter) y vea si está usando su entorno virtual. Si eso funciona, reinicie PyCharm y luego pruébelo en la terminal de PyCharm.fuente
esto es lo que estoy haciendo: crear un archivo active_env.bat (windows, tal vez .sh en linux) en el código fuente folde:
y otro archivo deactivate_env.bat:
cada vez que abra la ventana de terminal, simplemente ejecute el archivo bat para activar / desactivar virtualenv, permanecerá en la ruta del código fuente, sin necesidad de cambiar la ruta hacia arriba y hacia atrás.
fuente
Si su Pycharm 2016.1.4v y superior debe usar
"default path" /K "<path-to-your-activate.bat>"
no olvide las comillasfuente
Si ha movido su proyecto a otro directorio, puede establecer la nueva ruta a través del cuadro de diálogo Configuración. Y luego debe configurar este intérprete de proyecto en el cuadro de diálogo Editar configuración.
fuente
Otra alternativa es utilizar virtualenvwrapper para administrar sus entornos virtuales. Parece que una vez que se activa el script virtualenvwrapper , pycharm puede usarlo y luego el
workon
comando simple estará disponible en la consola de pycharm y le presentará los entornos virtuales disponibles:fuente
Este método debería funcionar con entornos virtuales arbitrarios por proyecto y no hace suposiciones sobre su entorno, ya que utiliza los ganchos que usted crea.
Usted escribe:
Dado que la última versión actual de PyCharm (Comunidad 2016.1) no permite que la configuración de Terminal por proyecto comience con el script que invoca el enlace específico del proyecto. Este es mi
~/.pycharmrc
:Si está utilizando algo que no sea Bash, invoque su propio
.bash_profile
equivalente si lo desea.Ahora configure su PyCharm "Herramientas -> Terminal -> Ruta de Shell" para invocar este script, por ejemplo:
/bin/bash --rcfile ~/.pycharmrc
Finalmente, para cada proyecto de PyCharm que necesite un entorno virtual específico activado, cree un archivo dentro de la raíz del proyecto de PyCharm
.pycharm/term-activate
. Este es su gancho y simplemente definirá el nombre del entorno virtual deseado para su proyecto PyCharm:Por supuesto, puede ampliar sus ganchos con cualquier cosa que encuentre útil en el entorno de terminal de su proyecto PyCharm en particular.
fuente
Para entornos virtuales conda en Windows, asegúrese de que su archivo por lotes NO tenga un nombre,
activate.bat
ya que esto causará un conflicto con elactivate
comando conda , lo que resultará en una llamada recursiva del archivo por lotes.Lo que me funciona es la siguiente ruta de Shell:
Y en el archivo active-env.bat:
fuente
Quería un entorno virtual separado para cada proyecto y no me importaba mucho tener archivos adicionales para facilitar esto. Una solución que solo necesita hacer una vez y que funciona para todos los proyectos es agregar lo siguiente a su
.bashrc
o.bash_profile
:Esto verifica si hay un entorno virtual donde se está abriendo el terminal y, si es así, lo activa (y por supuesto se podrían usar otras rutas relativas). La configuración del terminal de PyCharm se puede dejar como predeterminada.
fuente
PyCharm 4.5.4
No sé por qué, pero no me funciona. PyCharm imprime un error.
cmd.exe /K "<path-to-your-activate.bat>"
Funciona, pero crea el mismo virtualenv para cada proyecto, e incluso si esto no es necesario.¡Este recibo está funcionando! Pero la cadena
/env_yourenvlocate/scripts/activate.bat
debe contener comillas, como esta"Full_path_to_your_env_locate\scripts\activate.bat"
!Desactivar virtualenv es muy fácil: escriba en la terminal 'desactivar'
fuente
Solución para WSL (Ubuntu en Windows)
Si está usando WSL (Ubuntu en Windows), también puede abrir bash como terminal en pycharm y activar un linux virtualenv.
Utilice un
.pycharmrc
archivo como se describe en la respuesta de Peter Gibson; Agregue el.pycharmrc
archivo a su directorio de inicio con el siguiente contenido:En Archivo Pycharm > Configuración> Herramientas> Terminal, agregue la siguiente ' Ruta de Shell':
Virtualenv específico del proyecto
El camino hacia su virtualenv en
.pycharmrc
no tiene que ser absoluto. Puede configurar un virtualenv específico del proyecto estableciendo una ruta relativa desde el directorio de su proyecto. Mi virtualenv siempre se encuentra en una carpeta 'venv' en el directorio de mi proyecto, por lo que mi.pycharmrc
archivo se ve así:BONUS: abre automáticamente el túnel ssh para conectar virtualenv como intérprete del proyecto
Agregue lo siguiente a su
.pycharmrc
archivo:Esto verifica si un túnel ssh ya está abierto y, de lo contrario, abre uno. En Archivo -> Configuración -> Proyecto -> Intérprete de proyecto en Pycharm, agregue un nuevo intérprete remoto con la siguiente configuración:
Ahora, cuando abre su proyecto, su bash se inicia automáticamente en su virtualenv, abre un túnel ssh y pycharm conecta virtualenv como intérprete remoto.
advertencia: la última actualización en Windows inicia automáticamente un servicio SshBroker y SshProxy al inicio. Estos bloquean el túnel ssh desde Linux a Windows. Puede detener estos servicios en el Administrador de tareas -> Servicios, después de lo cual todo volverá a funcionar.
fuente
Una opción que tiene cuando ingresa al terminal> Ejecutar> Depurar> Editar configuraciones
seleccione el entorno de conda apropiado. También cuando crea un nuevo proyecto, le pide que configure esta ubicación.
fuente