En ipython> = 0.11, se requiere el comando% paste para pegar comandos con sangría. Sin embargo, si ejecuto un shell ipython en un terminal remoto, el buffer% paste se refiere a está en el equipo remoto en lugar de en el equipo local. ¿Hay alguna forma de evitar esto?ipython:% pegar por la conexión ssh
Respuesta
Creo que esto es exactamente para lo que %cpaste
es (siempre me olvido de todas las cosas que hace IPython). %cpaste
ingresa un estado que le permite pegar el código ya formateado o sangrado, y quitará la sangría y las indicaciones iniciales, para que pueda copiar y pegar el código sangrado de los archivos, o incluso de una sesión interactiva de Python que incluya >>>
o In [1]
que se quitarán .
¿la extracción '% cpaste' del buffer local o remoto? – keflavich
local (para el usuario, no para IPython). '% cpaste' entra en un modo que impide todo el autoinductor, etc. cosas, por lo que el pegado normal del código funcionará. No tira directamente del portapapeles, como '% paste'. Entonces, si haces '% cpaste''
una solución brillante, pero creo que esto va a funcionar:
Uso %autoindent
para apagar autoindenting, tipo if True:
y pulse enter. Luego pegue su código sangrado.
Creo que debería ser posible escribir una extensión IPython para manejar esto mejor. Trataré de mirarlo. He hecho an issue.
Si usa mucho IPython, es posible que desee obtener el funcionamiento de la nueva arquitectura kernel/client: debería ser posible tunelizar las conexiones a través de SSH, para poder usar la consola Qt en su máquina local, hablando con un kernel en un servidor. Pero eso puede tomar un poco de toquetear para ponerse en marcha.
La razón por la cual el empastado regular se arruina es que esencialmente simula tipear cada carácter a través de la terminal. Es imposible detectar si esto es tipado o pegado real, por lo que IPython autoindentará una línea, luego su sangrado pegado entra después de eso. Esto solo será sangría adicional si su pegado es de dos líneas, pero en realidad será incorrecto en la mayoría de los casos. – minrk
Gracias Thomas. No es una solución, pero es suficiente el reconocimiento de que se trata de un error (o al menos puede considerarse como tal). Por ahora, me quedaré con la solución que me proporcionó. – keflavich
- 1. ssh conexión localhost cerrada por 127.0.0.1?
- 2. Conexión SSH con Java
- 3. primitiva conexión ssh (nivel bajo)
- 4. Conexión ssh remota desde Emacs
- 5. java.sql.Extensión de conexión para SSH
- 6. Conexión SSH con Python 3.0
- 7. ¿Cómo transferir un archivo al servidor ssh en una conexión ssh hecha por paramiko?
- 8. Pexpect - Silencio Salida de conexión ssh
- 9. SSH túnel para Python MySQLdb conexión
- 10. ¿Cómo hacer una conexión ssh con python?
- 11. Conexión SSH a MySQL usando la biblioteca SSH.NET
- 12. ssh detiene la conexión en "debug1: SSH2_MSG_KEXINIT enviado"
- 13. ¿Cómo crear un script bash para verificar la conexión SSH?
- 14. ¿Por qué evitar pegar contraseñas?
- 15. ¿Cómo establecer fácilmente una conexión SSH en Qt?
- 16. Establecer el tiempo de espera de conexión SSH
- 17. En Netbeans, ¿puede hacer conexión SSH para proyectos PHP?
- 18. Conexión SVN + SSH que genera el error 210002, conexión de red cerrada inesperadamente
- 19. Finalización de la pestaña IPython no funciona
- 20. salir de ipython
- 21. ipython lee la versión incorrecta de Python
- 22. Primeros pasos con SLIME y SWANK: conexión Lisp cerrada inesperadamente: conexión interrumpida por un par remoto
- 23. Crear un túnel SSH pasando por una máquina 'puente'
- 24. Eclipse Subversivo "Falló la conexión por servidor"
- 25. ¿Por qué el host aborta la conexión?
- 26. Java Authenticator por conexión?
- 27. ssh-config por subred de host
- 28. Emacs 23 e iPython
- 29. ipython o bpython?
- 30. HeidiSQL la conexión al servidor MySQL - Se perdió la conexión ... servidor en la lectura inicial
Acabo de recordar que también existe la magia '% cpaste'. Eso le da espacio para pegar, y simplemente puede agregar '--' en una línea para detener y ejecutar el código que ha pegado. –
Por favor, cambie la respuesta a '% cpaste', esa es la mejor solución. Gracias –